git 常用命令
一、 操作本地仓库:
Git init – 创建一个版本库
Git add – 把文件提交到stage区。
Git commit – 把文件提交到本地仓库
Git status – 查看文件状态
Git log – 查看历史记录, git log –pretty=online
Git log –p <file> - 查看某个文件的修改记录
Git diff文件名 – 比较工作区和Stage区文件的差别
git diff --cached <file>:比较stage区和repository的区别。
git reset 回退 如:回退到上一个版本 git reset -- hard head^. 回退到某一个版本:git reset - -hard 1097a
git reflog – 记录每一次命令. git reflog show --date=iso <branch name>:查看分支时间
Git checkout -- <file> - 覆盖工作区的内容。git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。
Git reset HEAD <file> - 撤销暂缓区的内容。
Git rm +git commit – 删掉文件
二、 操作远程仓库
Git remote add origin git@github.com:xxx/learngit.git - 把本地仓库和远程仓库关联
Git push –u origin master – 把本地的所有内容推送到远程仓库。 第一次推送加了-u, Git不仅推送内容,还会和分支关联起来。之后推送就可以直接使用,如把本地master分支推送到远程仓库 git push origin master
Git clonegit@github.com:xxx/gitskills.git –克隆,默认克隆的是master分支。
git checkout -b dev origin/dev : 拉取指定分支到本地, 如:从origin/dev创建本地分支
git checkout <commit id> -b <分支名> : 根据commit id创建分支名
git checkout -b mywork origin:根据origin分支创建mywork分支。
Git checkout –b <分支>: 需要先切换到希望被创建分支的分支上,然后新建分支<分支>:并切换到<分支>:. = Git branch <分支> + git checkout <分支>.
Git checkout <分支>: 切换分支
Git branch: 查看分支和当前分支。
Git branch <分支>:创建分支
Git branch –d <分支>: 删除分支
Git branch –-set-upstream-to origin/dev dev: 分支关联
Git merge <分支>: 比如先切换到master分支,然后执行merge,就把<分支>合并到master上了。推荐使用:Git merge --no-ff –m <commnet> <分支>, --no-ff 能保留merge记录。
Git log -- graph : 查看分支合并图
Git stash: 把工作的内容先保存。
git stash list: 查看当前保存的内容。
git stash pop: 恢复的同时把stash内容也删了
Git remote: 查看远程库的信息。 Git remote –v 更详细。
Git pull:把远程的内容下载到本地,git pull <远程仓库> <分支>:<本地分支> eg: git pull origin develop:acrc-46
commit相关操作:
1. 查找commit id所在的分支:git branch --contains 89eb2ac2838dde77dab032a8e3b82ae087fc30b0 --all
Rebase 操作:
-----------------------------------------------------------------------
先切换到当前分支:git checkout mywork
再做rebase: git rebase masterr
解决冲突:
发生冲突,先解决冲突。然后 git-add –> git rebase –continue
没有冲突:直接git push --set-upstream origin <分支名>
如果要放弃:git rebase --abort
------------------------------------------------------------------------------------
git show <commit version>: 查看某个commit的修改.
------------------------------------------------------------------------------------
场景:远程仓库有两个分支,需要合并
1. 把远程master分支clone下来,然后做修改
2. git pull origin test:test拉取下来
3. 切换到test分支,git checkout test
4. git rebase master.
5. git push --set-upstream origin test