GIT 常见的使用指令
提交更新相关指令:
git add [file1-name] [file2-name] ...
- 将文件暂存。
[file1-name] - 文件名称
EX : git add file1 file2
git commit -m 'add comment here'
- 将所有已暂存起来的文件一并提交
git commit -a -m 'add comment here'
- 自动把所有已跟踪的文件暂存起来一并提交 (优点:可以省略 git add filename 这一步骤)
git commit --amend
- 修改上次commit的注释或内容
- 如果仅修改上次commit的注释,则直接敲该命令即可
- 如果需要修改或者增添文件等操作,需要先在本地对那些需要修改的文件进行修改,然后用giit add将这些修改加到暂存区中,之后再敲该命令,填写新的注释,提交,便可达到目的
远程仓库相关指令:
git push [remote-name] [local-branch-name]:[remote-branch-name]
- 将本地的branch推送到远程分支, 如果远程服务器没有该分支,则创建该分支。
[remote-name] - 远程服务器名称,默认为origin.
[local-branch-name] - 本地的branch名称.
[remote-branch-name] - 远程的branch名称.
EX : git push origin localdev0:remotedev0 (将本地的master branch推送至origin服务器)
git push
- 默认提交本地的master分支到服务器的master分支
git remote show [remote-name]
- 查看某个远程仓库的信息。
[remote-name] - 远程服务器名称,默认为origin.
git checkout --track origin/branch_name
- 在本地创建与远程branch_name相同的名字,并跟踪该远程分支
分支相关指令:
git checkout -b [branch-name]
- 创建分支并切换到该分支
[branch-name] - 所要创建分支的名称
git checkout [branch-name]
- 切换到某个分支
[branch-name] - 所要创建分支的名称
git branch
- 查看当前有哪些分支
git branch [branch-name]
- 创建分支但并不切换
[branch-name] - 所要创建分支的名称
git branch -D [branch-name]
- 删除某个特定分支
[branch-name] - 所要删除分支的名称
git rebase -i --abort
- 当使用rebase指令进行分支衍合的时候,用于解决 Interactive rebase already started 这样的error
git rebase -i commitId
- 用于分支的衍合
- 链接: https://blog.csdn.net/u013276277/article/details/82470177
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
- 用于设置git颜色
git log --stat
用于显示提交记录里哪些文件更改以及更改的行数
git rebase origin/develop
用于将当前分支与develop分支rebase
步骤如下:
1. git pull 更新本地代码
2. git rebase origin/develop 将当前分支与origin/develop分支进行合并
3. fix conflicts 如果合并时有冲突,则打开git GUI查看冲突并修改
4. git add . 将改动加入到暂存区
5. git rebase --continue 此时应该可以rebase成功
git log --pretty=oneline 文件路径\文件名
查看某个文件的修改记录
PATCH相关指令:
git fetch ssh://song.wu@192.168.48.xx:29418/xx/xx refs/changes/04/xx/3 && git format-patch -1 --stdout FETCH_HEAD
- 当我们想从gerrit上download一个别人上传的patch时,需要先从该review上复制这个patch链接
- 然后在我们的本地的branch上运行上面所示类似的git 命令
- 运行完成后,所downlaod下的改动放在了.git这个文件夹下(具体细节可以不用去管)
git merge FETCH_HEAD
- git fetch ssh:.....命令完成后,敲入该命令,则会将补丁内容打到当前branch上