1、查看当前分支
git branch
2、查看提交记录
git log
3、创建分支
#创建dev分支,-b 表示创建后切换到dev分支
git checkout -b dev
也可以用git switch -c
还可以两条命令 创建的 v分支+切换到dev分支:
git branch dev
git checkout dev
注意
4、提交修改后的文件
#将修改后README.md添加到stage 缓冲区
git add README.md
#查看缓冲区状态
git status
#提交
git commit -m 'create new branch dev'
5、回退到某个commit id
git reset --hard 42294a2adc041c6b37d99fd776dac00a425e4b96
6、切换分支到master
git checkout master
注意:
容易与撤销修改:git checkout – 混淆。
7、将dev分支合并到当前master分支
$ git merge dev
Updating db7bef3..716c869
Fast-forward
.idea/.gitignore | 2 ++
.idea/misc.xml | 6 ++++++
.idea/vcs.xml | 6 ++++++
README.md | 3 ++-
4 files changed, 16 insertions(+), 1 deletion(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
备注:
git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。
注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
当然,也不是每次合并都能Fast-forward,我们后面会讲其他方式的合并。
8、删除dev分支
$ git branch -d dev
Deleted branch dev (was 716c869).
9、最终所有变更需要推动到中央git
$ git push
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 850 bytes | 425.00 KiB/s, done.
Total 7 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:xxx/LearnGit.git
db7bef3..716c869 master -> master
10、查看本地关联的远程分支
$ git remote -v
origin git@github.com:zxxx/LearnGit.git (fetch)
origin git@github.com:zxxx/LearnGit.git (push)
11、推送内容到指定远程分支
#commit 内容推送到 dev分支
$ git push origin dev
12、查看修改的分叉日志(本地电脑未关机)
git log --graph --pretty=oneline --abbrev-commit
* b3438a2 (HEAD -> master, origin/master, origin/HEAD) Merge remote-tracking branch 'origin/master'
|\
| * 1cd86e5 github modify
* | 25b5781 idea modify text
|/
* 716c869 create new branch dev
* db7bef3 (origin/new_feature_branch, new_feature_branch) idea create new branch
* 0868405 idea opt git
* a313073 First test commit
* 4c6f0e6 Initial commit
备注:分叉可以通过rebase 命令合并一条直线,详见:https://www.liaoxuefeng.com/wiki/896043488029600/1216289527823648
13、多人同时提交代码冲突处理
1)你本地push代码时候系统,会提醒你先git pull 更新代码
2)git pull 代码后会提示解决冲突
3)编辑冲突文件
4)git push (注意没有再次执行 git add file 和 git commit file )
14、本地分支推送到git仓库
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
$ git push origin localbranch:localbranch
使用git branch -a查看所有分支,会看到remotes/origin/localbranch这个远程分支,说明新建远程分支成功。
15、删除远程git分支
$ git push origin --delete localbranch