日常工作必会的git命令
Posted 舒泱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常工作必会的git命令相关的知识,希望对你有一定的参考价值。
一、首先强烈推荐一个git学习网站
Learn Git Branching
你可以在Learn Git Branching上选择关卡,完成题目像通关一样学习git,实际操作比光看要容易掌握得多。
而且有可视化的图,更容易理解
二、在命令行里使用git时常用的Linux命令
-
cd 目录名:切换当前工作目录到名为【目录名】的目录下
~ :home目录,cd ~就表示切换到home目录
. :目前所在目录
. . :目前目录的上一层目录 -
pwd : 显示当前所在的目录路径。
-
ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
-
mkdir:新建一个目录(文件夹)
-
touch 文件名:在当前目录下新建一个名为【文件名】的文件。
-
rm 文件名:删除一个名为【文件名】的文件
-
rm -r 文件夹名: 删除一个名为【文件夹名】的文件夹
-
mv 文件名 目录名:将名为【文件名】的文件移动到名为【目录名】的目录下,mv file.txt /home/hh 就是移动file.txt到/home/hh目录下。
-
history 查看命令历史。
三、常用git命令
- 1、git status,简写git st,查看本地修改状态
- 2、git add
git add 文件名 ,暂存名为【文件名】的文件的变化
git add . ,暂存所有文件的变化 - 3、 git commit -m “本次提交信息”, 提交暂存区的内容到本地仓库
- 4、git commit -amend,简写git ca,追加到上一次提交
- 5、git branch 分支名 , 在本地创建名为【分支名】的分支
- 6、git checkout 分支名,简写git co分支名,切换到名为【分支名】的分支上去
git checkout 提交号,让HEAD指向提交哈希值为【提交号】的提交记录 - 7、git checkout -b 分支名,简写git co -b 分支名,创建并切换到该分支
- 8、^, 上一个提交记录
master^,master的父节点
master^^,master的第二个父节点
git checkout master^,切换到master分支的父节点
git checkout HEAD^,让HEAD指向上一个提交记录 - 9、~ num,往上num个提交记录,例如git checkout HEAD~3,向上移动3个节点
- 10、git reset,撤销提交,例如git reset HEAD~1,撤销上一次提交,本地仓库不知道上一次提交了,但上一次提交仍在工作区,但是未加入暂存区。
- 11、git revert,撤销本地的上一次提交,并将这个更改推送给远程仓库。
- 12、git cherry-pick 提交号,将提交哈希值为【提交号】的提交复制到当前所在位置(HEAD)。
- 13、 git rebase -i HEAD~2,合并最近2次提交
- 14、git push,向远程仓库推本地数据。
- 15、 git fetch,从远程仓库下载本地仓库中缺失的提交记录并更新远程分支指针(如 origin/master),git fetch 以后,本地仓库与远程仓库并没有同步。git可能已经将进行这一操作所需的所有数据都下载了下来,但是并没有修改你本地的文件,你可以将git fetch理解为单纯的下载操作,下载下来后,还需要你自己合并分支,用merge或rebase等。
- 16、 git pull,从远程仓库拉取数据并合并到本地,git pull=git fetch+git merge,本地仓库与远程仓库同步了。
- 17、git pull --rebase,简写为git pl,从远程仓库拉取数据并合并到本地,=git fetch+git rebase。
- 18、当你drop commit后,工作区的修改都没了,如何恢复?首先,git reflog 查看历史提交的hash值,复制你要恢复的提交的hash值,然后git reset --hard hash值,就可以恢复某次提交了。
- 19、合并分支feature与主分支master:现在你本地在feature分支上,要将该分支和master合并一下,你可以:1)git co master,切到master分支上。2)git pull --rebase,拉取远端master并合并到本地master。3)git co feature,切回feature分支。4)git merge master,将master的修改合到feature。以上步骤可以直接用一条命令代替:git merge origin/master
- 20、git branch -u origin/分支名 本地分支名:建立远程分支和本地分支的联系
以上是关于日常工作必会的git命令的主要内容,如果未能解决你的问题,请参考以下文章