`
samwalt
  • 浏览: 280671 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

git命令

    博客分类:
  • git
 
阅读更多
1、git恢复删除的文件(删除动作未commit)

git checkout 删除的文件名

或者
git checkout .


2、git查看提交涉及到的文件

git log --stat


查看某文件的所有提交

git log --pretty=oneline 文件名


3、创建分支

git branch 分支名


4、查看分支

git branch


5、切换分支

git checkout 分支名


6、develop分支的内容合并到master分支
git checkout master
git merge --no-ff develop


7、develop分支的部分提交合并到master分支
git checkout master
git cherry-pick c7bd6c9

c7bd6c9 是个已有的commit id

8、把git add命令提交到暂存区的内容清除
git reset

把本地某次提交删除,并且Push到远程的该次提交也删除

首先获取要删除的提交的上一次提交的commit id
把本地库重置到最后要保留的提交的状态
git reset --hard <commit id> 

重置后的状态强制推送到远程库
git push origin HEAD --force


登录到另一台机器,更新远程代码
git pull origin master

此机器重置本地库为远程库
git reset --hard origin/master



9、列出所有tag
git tag

列出特定的tag
git tag -l 'v0.1.*'


10、新建含附注的tag,建议用含附注的tag
git tag -a v0.1 -m 'tag的注释说明' 

查看tag的附注
git show tag名称

11、推送tag到服务器
git push origin [tagname]

一次推送所有本地新增的标签上去
git push origin --tags


12、查看某用户的提交
git log --author=username


13、显示文件每一行最后的修改人
git blame a.c


14、某次提交涉及的文件和改动
git show <commit-id>


15、查看文件修改(diff)

通常,我们的每个文件有4份影像:本地工作区,暂存区(stage),本地版本库 (local repo),远程版本库(remote repo)。所以我们通过不同的diff选项来比较不同位置的文件影像。

1)工作区与暂存区的比较

    git diff  [file-name]


2)暂存区与本地库的比较

    git diff –cached [file-name]


3)工作区与本地库的比较

    git diff HEAD [file-name] 或 git diff master  [file-name]     #HEAD通常是master的别名


4)本地库与远程库的比较

这个比较麻烦些,我们先要获取远程源代码

    git fetch upstream    #这里upstream是远程代码库

    git diff master   upstream/master


16、撤销(reset)与反悔(revert)

Git的撤销是指你叫工作区的修改加到暂存区的,你现在想把它撤回——不改变文件。反悔是指,你想用暂存区的影像(staged snapshot)覆盖工作区的文件。

Git中的撤销和反悔也要考虑到:工作区,暂存区,本地库。

1)从暂存区撤销(Unstage)

    git reset – readme.txt #将readme.txt unstage,如果想unstage所有的文件直接 git reset


2)从暂存区反悔,用暂存区文件覆盖工作区文件

    git checkout –  readme.txt    #你将丢失所有unstaged的修改


3)从本地库反悔,用本地库的snapshot来覆盖工作区的文件

    git checkout HEAD – readme.txt  #丢失所有staged和unstaged的修改


4)从本地库撤销到暂存区(Undo commit)

    git reset --soft HEAD^     #HEAD^表示最新提交


5)丢弃掉本地库的最新一次提交,就像该提交不存在
git reset --hard HEAD^



6)从本地库直接撤销到工作区(undo commit => undo stage)

    git reset --mixed HEAD^


17、修改远程库url
git remote set-url origin URL


18、clone某分支
git clone -b 分支名称 url


19、修改用户名和邮件
git config user.name "xx"
git config user.email "xx"


20、修改历史提交的注释

如果倒数第三次的提交注释写得不对,需要修改,可以如下操作:

git rebase -i HEAD~3 #3表示倒数第3次提交

出现3行文本:
pick:*******
pick:*******
pick:*******
要修改哪行,就把那行的pick改为edit,然后退出
这时通过git log可以发现,git的最后一次提交已经变成你选的那个了
git commit --amend

在出现的编辑框里对要修改的commit进行编辑,然后退出
最后
git rebase --continue


21、修改分支名
git branch -m 原分支名 新分支名

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics