git 学习

来源:互联网 发布:如何查看淘宝宝贝类目 编辑:程序博客网 时间:2024/06/11 20:15

对于git总是有一种爱莫能助的心情,要认真总结一下喽,强烈推荐廖雪峰的教程  http://www.liaoxuefeng.com/。


git add readme.txt  ,实际上就是把文件添加到暂存区

git commit -m "123",实际上就是把暂存区的所有内容提交到当前分支

git log 可以查看提交历史

git reset --hard HEAD^ 或者 git reset --hard commit_id

可以使用git status查看当前是否还没有提交的信息。

git  checkout -- readme.txt 是将提交撤回到最近一次add或者commit的状态。

git rm 用于删除版本库中的一个文件。


下面就是关于分支的,这个也是我现在感觉有点模糊的地方。

分支就是关于串成提交的时间线,就是为一个分支。

git branch dev

git checkout dev


git checkout -b dev表示创建并切换

git branch命令用来查看当前分支

git merge  dev 用来合并指定分支到当前分支

git branch -d dev用来删除dev分支

git branch -D dev 用来强行删除某一个分支

当从远程仓库克隆时,实际是把本地的master分支和本地的master分支对应起来了,并且远程仓库的名称是origin,

git  remote -v 是查看远程仓库的信息

git push origin master

git rebase master 更新master主线上的东西到本地分支上

git branch -v  查看各个分支的最后一次提交

git branch -merged 查看哪些分支合并入当前分支

git branch -no-merged 查看哪些分支未合并入当前分支

更新远程库到本地 git fetch origin

推送分支: git push origin mybranch

取远程分支合并到本地:git merge origin/mybranch

取远程分支并分化一个新的分支git checkout -b mybracn origin/branch

删除远程分支:git push origin :mybranch


多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

创建标签

git tag (一直都不是太明白这个标签是干嘛的,暂且放一放)

关于忽略某些文件可以使用.gitmore,具体用法参见http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758404317281e54b6f5375640abbb11e67be4cd49e0000

还有搭建git 服务器以及权限管理:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000