git 常用命令

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  [email protected]:zxxx/LearnGit.git (fetch)
origin  [email protected]: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

你可能感兴趣的:(git)