- 在github上新建一个project
- git clone htttps://————
- git init 初始化我们的本地仓库
- 把修改的内容添加进来:git add updatefile
git add . 会把修改了内容添加过来
- 查看哪些内容被提交(commit) git diff –cached
- git diff 的意思是:会显示当前你所有已做的但没有加入到索引里的修改
- git status命令来获得当前项目的一个状况
- git commit -m “put a message to commit” 提交一个项目一定要写 -m里面的内容不然无法提交
- 提交到远程: git push origin master
分支与合并
一个Git仓库可以维护很多开发分支。现在我们来创建一个新的叫 experimental的分支
$ git branch experimental
如果你运行下面这条命令:
$ git branch
你会得到当前仓库中存在的所有分支列表:
experimental
* master
master分支是Git系统默认创建的主分支。星号(“*”)标识了你当工作在哪个分支下,输入:
$ git checkout experimental
切换到”experimental”分支
先编辑里面的一个文件,再提交(commit)改动,最后切换回 “master”分支。
$ git commit -a -m “put a message to commit”
$ git checkout master
你现在可以看一下你原来在“experimental”分支下所作的修改还在不在;因为你现在切换回了“master”分支,所以原来那些修改就不存在了。 你现在可以在“master”分支下再作一些不同的修改:
$ git commit -a -m “put a message to commit”
这时,两个分支就有了各自不同的修改(diverged);我们可以通过下面的命令来合并“experimental”和“master”两个分支:
$ git merge experimental
如果这个两个分支间的修改没有冲突(conflict), 那么合并就完成了。如果有冲突,输入下面的命令就可以查看当前有哪些文件产生了冲突:
$ git diff
当你编辑了有冲突的文件,解决了冲突后就可以提交了:
$ git commit -a -m “put a message to commit”
这时你就可以删除掉你的 “experimental” 分支了(如果愿意):
$ git branch -d experimental
git branch -d只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D;下面假设你要强制删除一个叫”crazy-idea”的分支:
$ git branch -D crazy-idea
解决冲突
冲突(conflicts)的文件会保存在索引中,除非你解决了问题并且更新了索引,否则执行 git commit都会失败 如果执行 git status 会显示这些文件没有合并(unmerged),这些有冲突的文件里面会添加像下面的冲突标识符:
<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt