1、git恢复删除的文件(删除动作未commit)
或者
2、git查看提交涉及到的文件
查看某文件的所有提交
3、创建分支
4、查看分支
5、切换分支
6、develop分支的内容合并到master分支
7、develop分支的部分提交合并到master分支
c7bd6c9 是个已有的commit id
8、把git add命令提交到暂存区的内容清除
把本地某次提交删除,并且Push到远程的该次提交也删除
首先获取要删除的提交的上一次提交的commit id
把本地库重置到最后要保留的提交的状态
重置后的状态强制推送到远程库
登录到另一台机器,更新远程代码
此机器重置本地库为远程库
9、列出所有tag
列出特定的tag
10、新建含附注的tag,建议用含附注的tag
查看tag的附注
11、推送tag到服务器
一次推送所有本地新增的标签上去
12、查看某用户的提交
13、显示文件每一行最后的修改人
14、某次提交涉及的文件和改动
15、查看文件修改(diff)
通常,我们的每个文件有4份影像:本地工作区,暂存区(stage),本地版本库 (local repo),远程版本库(remote repo)。所以我们通过不同的diff选项来比较不同位置的文件影像。
1)工作区与暂存区的比较
2)暂存区与本地库的比较
3)工作区与本地库的比较
4)本地库与远程库的比较
这个比较麻烦些,我们先要获取远程源代码
16、撤销(reset)与反悔(revert)
Git的撤销是指你叫工作区的修改加到暂存区的,你现在想把它撤回——不改变文件。反悔是指,你想用暂存区的影像(staged snapshot)覆盖工作区的文件。
Git中的撤销和反悔也要考虑到:工作区,暂存区,本地库。
1)从暂存区撤销(Unstage)
2)从暂存区反悔,用暂存区文件覆盖工作区文件
3)从本地库反悔,用本地库的snapshot来覆盖工作区的文件
4)从本地库撤销到暂存区(Undo commit)
5)丢弃掉本地库的最新一次提交,就像该提交不存在
6)从本地库直接撤销到工作区(undo commit => undo stage)
17、修改远程库url
18、clone某分支
19、修改用户名和邮件
20、修改历史提交的注释
如果倒数第三次的提交注释写得不对,需要修改,可以如下操作:
出现3行文本:
pick:*******
pick:*******
pick:*******
要修改哪行,就把那行的pick改为edit,然后退出
这时通过git log可以发现,git的最后一次提交已经变成你选的那个了
在出现的编辑框里对要修改的commit进行编辑,然后退出
最后
21、修改分支名
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 原分支名 新分支名