汇总 git 常用命令

  • Post author:
  • Post category:其他




git push 提交



git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建



git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支



git push

如果当前分支只有一个远程分支,那么主机名都可以省略,形如

git push

,可以使用

git branch -r

,查看远程的分支名



git pull 拉取 git fetch 获取

为何将这两个放一起呢,因为他们的功能很像,都是从远端把代码拉下来


git pull

命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。

一句话总结git pull和git fetch的区别:


git pull = git fetch + git merge



git fetch

不会自动进行合并。执行后需要手动执行

git merge

合并分支,而

git pull

拉取远程分之后直接与本地分支进行合并。更准确地说,

git pull

使用给定的参数运行

git fetch

,并调用

git merge

将检索到的分支头合并到当前分支中。



git pull origin master

将远程origin主机的master分支拉取过来和本地的当前分支进行合并

上面的pull操作用fetch表示为:


git fetch origin master



git merge brantest



git merge 合并



git merge origin/master

将远端master分支,合并到当前本地分支



git merge –abort

该命令仅仅在合并后导致冲突时才使用。git merge –abort将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,git merge –abort在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)



git commit 提交文件



git commit -m “message”

提交到版本库(暂存区),并指定提交信息,

-m

参数表示可以直接输入后面的“message”



git commit -a -m “message”


-a

参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过

git add

添加到暂存区



git commit –amend

追加提交,它可以在不增加一个新的 commit-id 的情况下将新修改的代码追加到前一次的 commit-id 中。



git add 添加



git add -A 或 git add .

把所有已修改或者删除的文件添加到暂存区



git branch 分支



git branch

不仅仅可以用来创建删除分支,当它不加任何参数的时候,会得到当前所有分支的一个列表,带有

*

号的表示当前分支



git branch -r

查看远程分支,r是remote的简写



git branch branchName

创建名为

branchName

的本地分支 需要注意,此处只是创建分支,不进行分支切换;

git checkout -b _分支名

创建一个新的本地分支,同时切换到刚新建的分支上



git branch -d | -D branchName

删除指定分支。

-d

是一个安全的操作,因为当分支中含有未合并的变更时,Git会阻止这一次删除操作

-D

则是强制删除指定分支,即便其中含有未合并的变更。该命令常见于当开发者希望永久删除某一开发过程中的所有commit



git branch -m | -M branchName

当前分支重命名为

branchName

如果名字已经存在,则需要使用

-M

强制重命名,否则,使用

-m

进行重命名



git branch -a

列出本地分支和远程分支



git branch -v

查看各个分支最后一次提交



git branch –merged

查看哪些分支已经合并到当前分支,此列表下没有* 标记的分支可以删除,不会报错。



git branch –no-merged

查看还未合并到当前分支的分支,此时如果去删除未合并的分支,会报错的。与

git branch --merged

命令后边都可以加分支名称,这样可以查看指定分支的合并状态,而不用检出他们



git branch 组合的用法



git branch -d -r branchName

删除远程

branchName

分支,通知还需要执行push命令,才能真正删除:

git push origin : branchName


补充:如果不执行push命令,虽然通过

git branch -r

已经看不到

branchName

了,但在GitHub的网页上依然能看到

branchName

,而且执行git fetch命令后,再

git branch -r

,由可以看到

branchName

,说明如果不push没有真正删除远程分支。



git branch -r –no-merged origin/branchName

查询远程分支中没有进行合并

origin/branchName

分支的分支



git checkout 切换/检出



git checkout branchName

切换为

branchName

的本地分支



git checkout -b branchName

创建一个

branchName

本地分支,同时切换到刚新建的分支上



git checkout -b branchName origin/branchName

基于远端分支创建一个

branchName

本地分支,同时切换到刚新建的分支上



git checkout .

放弃所有工作区的修改



git checkout – filename

放弃对指定文件的修改



git checkout -f

放弃工作区和暂存区的所有修改



版权声明:本文为guoqing2016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。