汇总 git 常用命令

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值