获取远端库最新信息
这一句会将远程origin的所有分支更新都下载到本地的索引库
$ git fetch origin
比较diff
对比工作目录与下载索引库的差别
$ git diff master origin/master
将origin/master合并到本地的master分支
可以使用git checkout 切换本地分支
以下代码是将下载的远程更新与本地分支合并
$ git merge origin/master
切换到master分支
$ git checkout master
Issue的意思,一般来说,这个就是版本发布说明。比如本次更新了什么功能,修复了什么bug什么的。
一般情况下,提交 Git 时的注释可以分成几类,可以用几个动词开始
* Added ( 新加入的需求 )
* Fixed ( 修复 bug )
* Changed ( 完成的任务 )
* Updated ( 完成的任务,或者由于第三方模块变化而做的变化 )
尽量将注释缩减为一句话,不要包含详细的内容。
- 假如有 Issues 系统,其中可以包含 Issue 的 ID。比如:Issue #123456
- 包含作者的信息。比如 by Bruce
- 完整例子:
git commit -m 'Issue #[issue number] by [username]: [Short summary of the change].'
git 放弃本地修改 强制更新
git fetch --all
git reset --hard origin/master
git fetch
只是下载远程的库的内容,不做任何的合并
git reset
把HEAD指向刚刚下载的最新的版本
git add 详解
git add <path>
表示 add to index only files created or modified and not those deleted
我通常是通过 git add <path>
的形式把我们添加到索引库中,可以是文件也可以是目录。
git不仅能判断出中,修改(不包括已删除)的文件,还能判断出新添的文件,并把它们的信息添加到索引库中。
git add -u
git add -u
表示 add to index only files modified or deleted and not those created
git add -u [<path>]
: 把中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。
省略表示.,即当前目录。
git add -A
git add -A: []表示把中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
省略表示.,即当前目录。
git add -i
我们可以通过git add -i []命令查看中被所有修改过或已删除文件但没有提交的文件,
并通过其revert子命令可以查看中所有untracted的文件,同时进入一个子命令系统。
比如:
git add -i
staged unstaged path
1: +0/-0 nothing branch/t.txt
2: +0/-0 nothing branch/t2.txt
3: unchanged +1/-0 readme.txt
Commands
1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
What now>
这里的t.txt和t2.txt表示已经被执行了git add
,待提交。即已经添加到索引库中。
readme.txt
表示已经处于tracked下,它被修改了,但是还没有被执行了git add
。即还没添加到索引库中。
git clean -df
如果本地新建的文件比较多,而且还没有通过git add
添加到缓冲区,则可通过
git clean -df
一次性永久删除。
删除本地分支
git branch -d dev
删除远程分支
git push origin --delete dev
修改本地推送到远程的默认分支
git branch --set-upstream-to=origin/zhj
git推送给所有分支
git push --all