赞
踩
我要出一篇 Git 总结!先讲一下大致步骤:
如果是第一次接触 git
请先克隆仓库:
1.在本地新建项目文件夹,例如在D盘根目录下D:\
md myapp
cd myapp
2.从远程git上拷贝下git@开头的url后,命令行输入:
git clone git@...
3.配置全局或此项目 用户名、邮箱地址:
全局配置:
git config --global user.name "kaixin"
git config --global user.email "21577...@qq.com"
此项目配置:
git config user.name "kaixin"
git config user.email "21577...@qq.com"
配置文件保存在:
C:\Users\Administrator\
中,文件名:.gitconfig
1. 将自己的代码更改添加到暂存盘
git add .
2. 将暂存盘里的文件更改提交一次
git commit -m "注释"
3. 将当前分支切换到 master
git checkout master
4. 查看当前分支
git branch
有 * 代表当前,如图,表示当前分支为 master 主分支
5. 拉取主分支代码
git pull
6. 将分支切换回 原来分支
git checkout
+ 原来分支
7. 将分支代码与主分支合并
git merge master
8. 将代码推送一次
git push
如果推送失败,可能原因是没有上游分支
git remote -v
(查看是否添加了远程仓库)
git remote add origin
+ 仓库地址 (添加远程仓库)
git branch
(查看本地分支)
git push origin
+ 想要推送的分支名(配置推送分支)
1.提交代码之前,需要先从服务器上面拉取代码,防止自己覆盖掉别人的代码。
git pull
如果是新项目,这一步要替换为
git init
用来初始化项目
2.查看当前工作目录树的工作修改状态
git status
Untracked 此文件在本地储存库中,没有加入git 库;
Modified 此文件已修改,但没有进行其它操作;
Deleted 文件在本地删除,服务器没有删除;
等状态
3.将状态改变的代码提交至缓存
git add -A
将修改后未被
跟踪的代码提交至缓存;
git add -U
将修改后并被
跟踪的代码提交至缓存。
4.将代码提交到本地仓库中
git commit -m "注释"
5.将代码推送到服务器端
git push
如果是第一次推送代码,需要配置远程分支。
git push -u origin master
检测目标分支是否存在,若不存在立即创建并推送
git push origin master
推送到指定分支
如果推送失败,可以 git remote -v
查看是否添加了远程仓库
也可以使用 git push origin -f master
进行强制推送
git init
初始化Git仓库
git pull
拉取数据并合并(前提是本地分支已经跟踪远程分支)
git status
查看当前仓库文件状态
git add.
添加文件到暂存区
git commit -m "本次提交备注"
提交暂存区的文件到本地仓库
git push <remote> <branch>
推送指定的分支到指定的仓库
git push
把本地仓库的文件推送到远程仓库
git fetch
拉取数据(并不会合并到本地)
gti fetch
仓库名 拉取指定仓库的数据
git remote add pb https://github.com/paulboone/ticgit
添加远程仓库(git remote add 名称 远程仓库地址)
git clone https://github.com/paulboone/ticgit
克隆远程仓库到本地(默认名称为origin 分支名为master)
git remote
查看对应的远程仓库
git remote -v
查看对应的远程仓库及URL
git remote add origin [url]
添加名称为origin 的远程仓库
git remote rm origin
删除名称为origin 的仓库
git remote set-url origin [url]
修改origin 仓库的远程地址
git remote show origin
查看远程仓库的详细信息
git remote rename old new
更改仓库名为old的名称为new
git fetch --prune
更新
git branch -r
查看
git commit --amend
进入vim操作界面之后, 点击字母键 i 然后进入INSERT模式,然后对commit信息进行修改。修改完毕以后按下 ESC
,敲击回车,输入 :wq
退出
然后执行 git log
会发现最近的一次commit信息被修改成功了
git remote set-url origin <new url>
修改名称为origin的仓库的地址。
在此之前需指定分支push之后才能跟踪
先用git push -u origin master
这种方式指定上游分支并提交一次后, 才能使用:
git branch --set-upstream-to=origin/master master
命令,
git branch --set-upstream-to=
远程分支 本地分支。
示例:git branch --set-upstream-to=origin/local local
或者是:git branch -u origin/local
当前分支跟踪origin/local分支
git branch testing
创建一个testing的分支
git checkout testing
切换到testing分支
git checkout -b <newbranchname>
创建分支的同时并切换到该分支
git merge <branchname>
将branchname分支与当前分支合并
git branch
查看现存分支
git branch -v
查看现存分支并显示最后一次提交
git branch --merged
查看哪些分支已经合并到当前分支
git branch --no-merged
与上相反
git branch -d <branchname>
删除分支
git branch -D <branchname>
强制删除分支(用于删除还未合并的分支)
git branch -r
查看远程分支
git branch -a
查看所有分支(本地+远程)
git push origin --delete <branch>
删除远程分支
git branch -vv
git stash
隐藏并存储改动的所有文件,chekcout <branch>
时可优先使用, 命令后加save ‘commit’ 添加备注,方便查找
git stash list
显示stash列表
git stash show
显示存储了哪些改动,默认是第一个,如指定显示,后面加stash@{num}
,例:git stash show stash@{1}
git stash show -p
显示改动的文件详细信息,默认是第一个,如指定显示,后面加stash@{num},
例:git stash show stash@{1} -p
git stash drop
删除存储,默认删除第一个, 可加stash@{$num}删除指定存储
git stash clear
删除所有缓存的stash
git stash apply
应用存储到git仓库,默认应用第一个,此操作不删除stash列表,应用指定存储同上
git stash pop
应用存储到git仓库并在列表删除该存储,默认应用第一个,应用指定存储同上
注: git stash
只会存储在git版本控制器中的文件,如果是新增文件需先add到暂存区
1.误将代码提交到缓存中,
利用 git reset
撤回缓存中的代码。
2.误将代码提交到本地仓库中,
git reset -soft 版本号
回退到某个版本,只回退了commit 信息,不会改变已修改的代码;
git reset -hard 版本号
彻底回退到某一个版本,本地的代码也会改变为上一个版本内容。
3.git commit
提交时报错:husky>pre-commit(node...)...
分析:项目中使用了husky模块,它会在你提交的时候先执行严格模式,对代码进行检查,有error就会终止提交,这个操控严格模式的文件在
.git 文件夹下的 hooks 文件夹下,
它叫 pre-commit
你可千万不要删掉它,否则你会遇到另一个复杂的多的问题,网上还没有人能把这个问题解决,我们不要动它,慢慢退回去,在git目录下输入:
git commit -m "注释" --no -verify
这条命令能让你 “先斩后奏,皇权特许!这就是西厂,够不够清楚”
4.git push
推送时卡住,检查网络原因,可能是网络较差,连接不到远程服务器。
5.git pull
本地出现冲突
1)git stash //将代码先暂存到本地
2)git pull //将gitlab的工程拉下来
3)git stash pop //还原暂存的内容,并且解决冲突
6.git pull
报错 refusing to merge unrelated histories
如我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。这时会发现 github 的仓库和本地的没有一个共同的 commit 所以 git 不让提交,认为是写错了 origin ,如果开发者确定是这个 origin 就可以使用 --allow-unrelated-histories 告诉 git 自己确定
git pull origin master --allow-unrelated-histories
呕心沥血,往后会不断完善,请给一个免费的小❤❤,转载要注明出处哦!
“我仍认为我们接受高等教育的目的是帮助我们的家乡摆脱贫困,而不是摆脱我们贫困的家乡。生如蝼蚁当有鸿鹄之志,为天地立心,为生民立命,为往圣继绝学,为万世开太平。”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。