Git 使用指南
2016-01-14 00:00
162 查看
摘要: Git是大家耳熟能祥的分支代码管理库,用Git可以方便实现代码的分支管理。网上关于Git的教程很多,这里主要介绍使用 Git过程中过程中出现的问题。
使用Git 之前,有时因为忘记添加.gitignore文件,所以使用git add 添加了不该进入版本库的文件,这时由于还没有commit到Head,所以不能使用git reset Head命令,可以通过以下命令来撤销操作:
Git 在提交之后的撤销操作
Git 添加.gitignore文件忽略文件
在仓库目录下添加.gitignore文件, Git会可以自动忽略该目录及目录以下子目录的对应的文件。文件里面的内容如下:
Git的fork
有时我们想在别人项目的基础上进行开发,Git为我们提供了fork的功能,可以fork其它人的代码,然后进行开发。
下面,我们以https://github.com/CntChen/edudemo为例,来演示如何进行fork之后再merge的操作。
常用操作
GIT-FORK项目后与原项目进行同步
http://www.cnblogs.com/dubuqingfeng/p/201503-git-fork-synchronized.html
Git 的入门教程
网上关于Git比较好的一篇教程有:http://www.bootcss.com/p/git-guide/问题集合
回滚操作
Git在提交之前撤销add操作使用Git 之前,有时因为忘记添加.gitignore文件,所以使用git add 添加了不该进入版本库的文件,这时由于还没有commit到Head,所以不能使用git reset Head命令,可以通过以下命令来撤销操作:
撤销全部add的文件 git rm -r --cached . 撤销test文件夹中的全部文件 git rm -r --cache test/ 撤销添加的文件 git rm --cached file
Git 在提交之后的撤销操作
#Git有两种方式来撤销提交之后的操作,一种是git revert,另外一种是git commit. git revert是生成生成一个新的commit 来撤销某次操作,此次之前的commit都会被保留 git reset 是回到某次提交,提交及提交之前的commit 都会被保留,但是此次之后的修改都会被退回到暂存区。 举个例子,例如有两个commit,如下: commit2: 添加file2 commit1: 添加file1 1 执行 git revert HEAD~1 ,执行 git log时,可以看到,这里HEAD~1代表着上一次提交,如果是HEAD~2,代表着上两次提交。 revert "commit2":this reverts commit 234$f.... commit2: 添加file2 commit1: 添加file1 2 git reset 有三个选项可以选择 --soft 默认,执行 git reset --soft HEAD~1之后,执行git log,此时commit2提交的文件是在暂存区中, 待提交 --mixed 执行 git reset --mixed HEAD~1之后,执行git log,此时commit2 提交的文件显示未添加 --heard 执行 git reset --hard HEAD~1之后,执行git log,此时commit2 全部被撤销,提交的文件也被取消
Git 添加.gitignore文件忽略文件
在仓库目录下添加.gitignore文件, Git会可以自动忽略该目录及目录以下子目录的对应的文件。文件里面的内容如下:
以#开始的行,被视为注释 #忽略tt.txt tt.txt #忽略所有的html文件 *.html #忽略.o和.t后缀的文件 *.[ot] #忽略nodemodules文件夹 nodemodules
Git的fork
有时我们想在别人项目的基础上进行开发,Git为我们提供了fork的功能,可以fork其它人的代码,然后进行开发。
下面,我们以https://github.com/CntChen/edudemo为例,来演示如何进行fork之后再merge的操作。
首先进入Github的该项目,然后点击该项目右上角的fork 然后在自己的项目库中,将fork到的项目克隆到自己的本地项目中 git clone https://github.com/thomaslwq/edudemo.git 当你fork到本地的时候,会有一个默认的origin的远程连接名,它指向你账户下的远程仓库。 然后你可以将原仓库也连接到本地目录下来。如果以后原仓库有任何改动,那么你就可以将原仓库的改动fetch下来, 然后进行更新。 git remote add remote_edudemo https://github.com/CntChen/edudemo.git 这样,你本地就多了一个其它人的远程仓库,并且它的别名是remote_edudemo git fetch remote_edudemo //拉取原远程库的最新更新 git merge remote_edudemo master //合并到当前仓库 然后提交修改 git add "README.md" git commit -m "添加修改文件" git push origin master 到目前为止,我们已经把修改推送到自己fork之后的仓库,但是我们如果想将改动推送到原作者仓库, 就需要回到自己fork项目的界面,点击Pull Request,然后发送合并请求,原作者收到请求之后, 就会根据实际情况选择是否合并代码到当前项目中。 注意:如果合并原仓库代码时出现冲突,那么之后合并冲突之后重新提交就可。
常用操作
GIT-FORK项目后与原项目进行同步
http://www.cnblogs.com/dubuqingfeng/p/201503-git-fork-synchronized.html
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git fork同步是什么意思?
- Git使用小坑 Out of memory错误的解决方法
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结
- 使用git代替FTP部署代码到服务器的例子
- linux系统安装git及git常用命令
- 分享下自己总结的Git常用命令
- Git 常用命令速查表(图文+表格)