美文网首页Git和GitHub学习
Git和Github学习的补充

Git和Github学习的补充

作者: evansyangs | 来源:发表于2017-07-17 16:50 被阅读0次

这篇文章是继上次Git和GitHub学习的扩展与补充,使用的是廖雪峰老师的Git教程


1. git log

使用以下命令可以更简洁的显示commit信息

git log --pretty=oneline

2. 回退到以前版本

  • 使用以下命令即可回退到上一版本
git reset --hard HEAD^

注:HEAD指向的是当前版本。

  • 使用以下命令即可回退到以前的版本
git reset -- hard commit_id
  • 如果回退到以前的版本后想反悔,可以使用以下命令来查看你前几次的命令以及对应的Commit ID
git relog

3. 查看工作区与版本库文件的不同

使用以下命令就可以查看工作区和版本库里面该文件最新版本的区别

git diff HEAD -- 文件名

4. 撤销更改

当你还未将更改添加到暂存区时可以使用以下命令撤销更改

git checkout -- 文件名

当你不小心git add到暂存区时可以使用以下命令放回工作区

git reset HEAD 文件名

5. 删除

在工作区你可以使用以下命令删除没用的文件

rm 文件名

当你在工作区删除了该文件后可以选择使用以下命令删除版本库中该文件

git rm 文件名

然后
或者删错了,想要恢复该文件

git checkout -- 文件名

6. 远程仓库

  • 在GitHub网站上注册帐号

  • 设置SSH加密
    1.创建SSH Keyssh-keygen -t rsa -b 4096 -C "youremail@example.com"
    2.在主目录中找到.ssh目录,在里面找到id_rsa.pub文件,用编辑器打开,并复制密钥。
    3.登录GitHub,在“Account Settings”中找到“SSH Keys”,然后点击“Add SSH Key”,填上任意Title,最后在Key文本中粘贴id_rsa.pub的密钥。

7. 添加远程库

  • 要关联一个远程库使用命令git remote add origin git@server-name:path/repo-name.git
  • 然后使用命令git push -u origin master第一次推送master分支的所有内容

8. 创建与合并分支

可以使用以下命令创建并切换到新的分支

git checkout -b dev

删除分支

git branch -d dev

禁用Fast forward模式

git merge --no-ff -m "merge with no-ff" dev

9. 解决冲突

使用带参数的git log更清晰的查看分支合并图

git log --graph --pretty=oneline --abbrev-commit

10. Bug分支

当你工作到一半时,被某些事情打断,比如突然要去修复一个Bug,你可以使用下面的命令将当前工作暂停一下,等Bug修复完了,回来继续工作

git stash

修复完Bug以后,切换回dev分支,用git stash list命令查看暂停的工作
然后用git stash apply恢复,并用git stash drop来删除stash内容;当然也可以使用git stash pop一步到位,恢复并删除stash内容。

10.强制删除分支

在开发工程中,分支合并以后,可以使用下面的命令删除

git branch -d feature-vulcan

但是对于没有合并的分支,如果要删除,需要使用强制删除命令

git branch -D feature-vulcan

11.多人协作

在本地创建和远程对应的分支

git checkout -b branch-name origin/branch-name

建立本地分支和远程分支的关联

git branch --set-upstream branch-name origin/branch-name

12.标签管理

  • 使用以下命令为所在分支打标签
git tag v1.0
  • 可以使用命令git tag查看标签
  • 也可以用下面的命令对以前的提交打标签
git tag v0.9 commit_id
  • 可以用git show v1.0查看标签的信息
  • 还可以创建带有说明的标签,用-a指定标签,-m指定说明文字
git tag -a v0.1 -m "version 0.1 released" commit_id
  • 如果标签打错了,也可以删除
git tag -d v0.1
  • 推送某个标签到远程
git push origin v1.0
  • 或者一次性推送所有的本地标签
git push origin --tags
  • 如果想要删除远程标签要先从本地删除
git tag -d v0.9

然后再从远程删除

git push origin :refs/tags/v0.9

13.忽略特殊文件

你可以在Git工作区的根目录下创建一个特殊的.gitignore文件,把尧忽略的文件名填进去,然后提交到Git,Git就会自动忽略这些文件。
更多规则请点击此处了解
当你的文件被.gitignore忽略时,可以使用-f强制添加到Git

git add -f App.class

也可以查看.gitignore当中的规则

git check-ignore -v App.class

14.配置别名

使用下面的命令,以后就可以用git st来表示git status

git config --global alias.st status

每个仓库的Git配置文件都放在.git/config文件中;而当前用户的Git配置文件放在用户目录下的一个隐藏文件.gitconfig

15.搭建Git服务器

由于我不是很需要,所以就直接附上链接了。

感谢阅读!

相关文章

网友评论

    本文标题:Git和Github学习的补充

    本文链接:https://www.haomeiwen.com/subject/dlhqkxtx.html