撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
关联远程库:
git remote add origin https://github.com/fuzuokui/learngit.git
(远程库的名字就是origin,这是Git默认的叫法,也可以改成别的)
第一次推送master分支的所有内容:
git push -u origin master
克隆一个本地库:
git clone git@github.com:fuzuokui/gitskills.git
%%查看分支的合并情况:
git log --graph --pretty=oneline --abbrev-commit
%%在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
(本地和远程分支的名称最好一致;)
%%建立本地分支和远程分支的关联
git branch --set-upstream branch-name origin/branch-name
找到历史提交的commit id
git log --pretty=oneline --abbrev-commit
查看标签信息
git show <tagname>
删除一个远程标签
git push origin :refs/tags/<tagname>
多人协作的工作模式通常是这样:
- 首先,可以试图用git push origin branch-name推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
- 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
疑难杂症
gitignore不起作用的解决方法
.gitignore文件,具体的规则一搜就有.我在使用GIT的过程中,明明写好了规则,但问题不起作用,每次还是重复提交,无法忍受.其实这个文件里的规则对已经追踪的文件是没有效果的.
所以我们需要使用rm命令清除一下相关的缓存内容.这样文件将以未追踪的形式出现.然后再重新添加提交一下,.gitignore文件里的规则就可以起作用了.
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
网友评论