序言
公司里断断续续使用过git管理代码。用的是那个 tortoiseGit。由于不经常用,而且基本上代码都是我一个人完成的,不存在多人合作,所以只会最基本的提交。最近git的提交有点问题,于是上网查。觉得有必要把这个git好好琢磨一下子。无意中发现廖雪峰老师的教程。附上老师教程地址:
https://www.liaoxuefeng.com/wiki/896043488029600
现在把里面提到git操作的一些代码整理一方面加强印象,一方面记录下来。
git init初始化仓库。
git add file.txt 把file.txt加入暂存区。
git commit -m "写提交的信息" 把暂存区代码提交到仓库。
git log 显示从最近到最远的提交日志。
git log --pretty=oneline 显示从最近到最远的提交日志(简洁方式)。
git reset --hard HEAD^ 退回到当前分支的上一版本。
git reset --hard xxxxxx 退回到代号为xxxxxx的那个版本。
git reflog 记录你的每一次命令。
git diff HEAD -- file.txt 查看工作区和版本库里面最新版本的区别。
git checkout -- readme.txt 把readme.txt文件在工作区的修改全部撤销,回退到暂存区里的一样。
git reset HEAD readme.txt 可以把暂存区的修改撤销掉,重新放回工作区。
rm test.txt 删除test.txt 。
git rm test.txt 要从版本库中删除该文件。
git remote add origin git@github.com:yourgithub/yourgithub.git 链接远程仓库.
git push -u origin master 第一次推送文件到master分支,后续可以不用-u。
git clone git@github.com:michaelliao/gitskills.git 从远处仓库克隆项目。
git checkout -b dev 创建分支dev 并且切换分支到dev
git branch 列出所有分支
git checkout master 切换到master
git branch dev 创建分支dev
git merge dev 合并dev分支到现在的分支
git branch -d dev 删除dev分支
git switch -c dev 创建分支dev 并且切换分支到dev
git log --graph --pretty=oneline --abbrev-commit 可以看到分支的合并情况
git stash可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list 查看刚才“储藏”起来的工作
git stash apply恢复刚才“储藏”起来的工作
git stash pop恢复的同时把stash内容也删了
git pull从远程抓取当前名称分支
cherry-pick在master分支上修复bug后,在dev分支上可以“重放”这个修复过程
git branch -D feature-vulcan 小写d是删除分支,大写D是强制删除分支。
git checkout -b dev origin/dev 在本地仓库创建和远程仓库一样的分支,然后就一push到远程仓库啦。
git branch --set-upstream-to <branch-name> origin/<branch-name>把本地的分支和远程仓库的分支对应起来。
over!