git命令

来源:互联网 发布:linux 字符集设置 编辑:程序博客网 时间:2024/06/14 16:45

克隆指定的分支
git clone -b XXX URL

git add cmblife/main_trunk/cmblifeUITests/cmblifeUITests.m
git commit -m “UI用例更改”

查看本地分支
git branch
新建并切换至znFeature分支
git checkout -b znFeature

设置本地分支跟踪远程分支
设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支,你可以在任意时间使用 -u 或 –set-upstream-to 选项运行 git branch 来显式地设置。
$ git branch -u origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.

抓取远端主分支,使本地和远端保持一致
每次push之前都要进行这样的操作
git fetch origin(查找 “origin” 是哪一个服务器,从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针指向新的、更新后的位置。)
git rebase origin/master
新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步

解决冲突之后的命令
git rebase –continue

本地master推到远端
git push origin master
这样远程仓库中也就创建了一个master分支

迁出某分支内容到当前分支
git checkout master
git pull origin master

删除远程dev分支,危险命令哦
git push origin :dev
删除本地分支
git branch -D Init —删除init分支
从服务器上删除 serverfix 分支
git push origin –delete serverfix
这个命令做的只是从服务器上移除这个指针。 Git 服务器通常会保留数据一段时间直到垃圾回收运行,所以如果不小心删除掉了,通常是很容易恢复的。

git pull
在大多数情况下它的含义是一个 git fetch 紧接着一个 git merge 命令。
由于 git pull 的魔法经常令人困惑所以通常单独显式地使用 fetch 与 merge 命令会更好一些。

查看所有分支
git branch -av
显式地获得远程引用的完整列表
git ls-remote (remote)
获得远程分支的更多信息
git remote show (remote)

忽略更改-commit时
git stash
删除某次已提交的commit
找到需要回退的那次commit的 哈希值,
git reset –hard commit_id
使用上面的命令进行回退

不再追踪某个项目
rm -rf .git

查看最新的更改
git reset –hard
HEAD is now at ae08dfc UI用例更改

head detached at 怎么解决
git checkout本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支,但是有时候HEAD不会指向任何分支,严谨的说是HEAD指向了一个没有分支名字的修订版本,此时恭喜你,已经处于游离状态了(detached HEAD).这时候我们在进行commit操作不会提交到任何分支上去
* (HEAD detached from 5faaa7a) 0f2f90b add .gitignore
master 73531ed UI用例完善
处于游离状态时,commit会失败,直接切换至其他分支,当前修改的东西未保存,会失败
基于本次提交创建临时分支(但是并未切换至temp)
gitbranchtempfef4501git checkout -b ask_11_16
//目前已新建并切换至ask_11_16分支,合并之前的临时分支即可
gitmergetemptemp,temp,git branch -d temp

git pull origin dev 本地分支与远程分支相关联

要查看尚未暂存的文件更新了哪些部分,不加参数直接输入git diff
git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动
查看已暂存的将要添加到下次提交里的内容,可以用 git diff –cached 命令。
(Git 1.6.1 及更高版本还允许使用 git diff –staged,效果是相同的,但更好记些。)

.gitconfig 相关
st = status
ci = commit
co = checkout
br = branch
df = diff
unstage = reset HEAD –
lg = log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit
last = log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit -1 HEAD

git所有命令图片地址如下:
http://finalshares.cn/attachment/1509/thread/95_80_cbcb426e1ba4faf.jpg