查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
本地与远程仓库分支同步:git pull 地址 本地分支名
提交到远程仓库分支:git push origin 分支名
git回退到历史某一版本:git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
git提取两个版本之间的变动文件:git archive --format=zip HEAD `git diff --name-only 8bbf69c253801228ff504ab080ce7cf44a924971 a27d045d8c60d6c62a4061b94763886577e1c0eb` > a.zip
git
remote show [remote-name]
查看某个远程仓库的详细信息
git
remote show
给出的信息可能会像这样:
$ git remote show origin
* remote origin
URL: git@github.com:defunkt/github.git
Remote branch merged with 'git pull' while on branch issues
issues
Remote branch merged with 'git pull' while on branch master
master
New remote branches (next fetch will store in remotes/origin)
caching
Stale tracking branches (use 'git remote prune')
libwalker
walker2
Tracked remote branches
acl
apiv2
dashboard2
issues
master
postgres
Local branch pushed with 'git push'
master:master
它告诉我们,运行 git
push
时缺省推送的分支是什么(译注:最后两行)。它还显示了有哪些远端分支还没有同步到本地(译注:第六行的 caching
分支),哪些已同步到本地的远端分支在远端服务器上已被删除(译注:Stale
tracking branches
下面的两个分支),以及运行 git
pull
时将自动合并哪些分支(译注:前四行中列出的 issues
和 master
分支)。
git remote -v可以查看远程仓库信息
git reflog 查看commit+reset记录
$ git fetch origin develop
2.
$ git checkout ling_long
3.
$ git rebase -i develop
4.解决冲突
5.
$ git add app/lalala/zhihu.js
6.
$ git diff -cached
7.
$ git rebase --continue
$ git push -f origin master
强行更新
忽略文件失败:
可以通过配置.gitignore文件让git不在跟踪记录这些文件。心血来潮去配置的时候,发现配置过的文件并没有生效,伤感万分,别担心有解决方案。先找原因,因为.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经纳入版本管理中,则修改.gitignore不会生效。解决办法就是先把本地缓存删除(改成未track状态),然后再提交”:
git rm -r --cached .
git add .
git commit -m "update .gitignore"