Git常用命令
======================================================================
本地仓库操作
======================================================================
初始化本地仓库
git init
将文件添加到本地仓库中
git add 1.txt
查看当前的状态
git status
对比未提交已暂存的文件的差异
git diff --cached
或
git diff --staged
对比已修改未暂存文件的差异
git diff
忽略文件
.gitignore文件中指定
提交 stage
git commit -m '提交说明'
提交所有的更改
git commit -a -m '提交说明'
修正上一次提交
git commit --amend -m '提交说明'
从本地仓库移除并删除文件
rm 1.txt
如果已经提交到暂存区使用
rm -f 1.txt
从本地仓库溢出,但不删除文件
rm --cached 1.txt
移动文件
mv file_form file_to
查看最近两次提交记录
git log -2
查看最近两周提交记录
git log --since=2.weeks
图形查看分支和提交
git log --graph
撤销添加到暂存区
git reset HEAD 1.txt
撤销文件的修改
git checkout -- 1.txt
======================================================================
远程仓库操作
======================================================================
克隆远程仓库
git clone git://xxxx.com/xxx.git
git clone git://yyyy.com/abc.git localname
克隆默认使用origin作为远程仓库的名字,用master作为分支的名字
查看本地仓库的对应的远程库
git remote
git remote -v
添加远程仓库
git remote add [shortname] [url]
从远程抓取更新,并不合并
git fetch [shortname]
从远程抓取更新并合并到本地当前分支
git pull [shortname]
推送分支到远程仓库
git push origin master
显示远程仓库的变化
git remote show origin
修改远程仓库的名称
git remote rename oldname newname
移除远端仓库
git remote rm [shortname]
======================================================================
标签操作
======================================================================
列出标签
git tag
git tag -l 'v1.4.2.*'
新建标签
git tag -a v1.4 -m 'my version 1.4'
git tag -s v1.5 -m 'my signed 1.5 tag'
补加标签给某次提交
git tag -a v1.2 9fceb02
显示某个版本
git show v1.5
分享标签
git push origin [tagname]
分享所有新增标签
git push origin --tags
======================================================================
分支操作
======================================================================
列出分支
git branch
列出各分支最后一次提交
git branch -v
列出已经合并的分支
git branch --merged
列出未合并的分支
git branch --no-merged
创建分支
git branch branch1
切换到分支
git checkout branch1
创建并切换到分支
git checkout -b branch2
合并分支
git merge 要并入当前分支的其他分支
例如 git merge iss4
删除分支
git branch -d branch1
强制删除未合并的分支
git branch -D branch1
======================================================================
远程分支操作
======================================================================
推送分支到远程仓库,远程分支命名为 awesomebranch
git push orgin servserfix:awesomebranch
合并远程某一分支到本地当前分支
git merge orgin/serverfix
从远程分支分化出一个新分支,并切换过去
git checkout -b myserverfix origin/serverfix
git checkout --track origin/serverfix
删除远程分支
git push origin :serverfix
======================================================================
衍合操作
======================================================================
这部分操作就是将两个分支中的一个操作在另一个分支上重新执行。我也不会用,推荐在只本地仓库中使用。