GIT常用命令
*来自廖雪峰老师的git教程,以下是我的简要笔记,可能有点乱,但不影响阅读
初次运行git:
ssh-keygen -t rsa -C [email protected]
生成key
配置当前用户名和邮箱
Gitconfig --global user.name “your name”
Gitconfig –global user.email “[email protected]”
git init
把这个目录变成Git可以管理的仓库
git add readme.txt
把某个文件添加到仓库里
git commit -m "wrote a readmefile"
把已添加的文件上传到仓库
git status
命令可以让我们时刻掌握仓库当前的状态
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
git log
命令显示从最近到最远的提交日志
git reset
版本回退如:git reset --hard HEAD^ HEAD^代表上个版本 HEAD^^代表上上个版本
git reflog
用来记录你的每一次命令
git checkout -- readme.txt
意思就是,把readme.txt文件在工作区的修改全部撤销
git rm test.txt
git commit
删除远程仓库的文件
git clone [email protected]:michaelliao/gitskills.git *用ssh比用http速度更快
从远程克隆一个仓库
git checkout -b dev表示创建并切换,相当于以下两条命令:
git branch dev(创建)
git checkout dev(切换)
git branch命令查看所有分支,如果是当前分支,前面会有个*
分支小结:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
git log --graph命令可以看到分支合并图
git merge --no-ff -m "merged bug fix101" issue-101 --no-ff 表示不启用fast-forward
git stash把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list 查看工作现场
git stash apply恢复
git stash drop删除
git stash pop恢复的同时把stash内容也删了
git branch -D feature-vulcan 强行删除一个未合并的分支
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
git tag 就可以打一个新标签:
git tag查看所有标签:
add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:
git tag v0.9 f52c633
git show 查看标签信息
命令git push origin 可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
git config --global alias.co checkout配置命令简称