以前用git都是用工androidstudio上自带的工具,后面发现很多问题用命令行解决跟方便,但是对命令行不熟,出现很多问题,以后坚持用命令行!
1.同步服务器代码与本地提交冲突解决
git pull --rebase origin master
2.提交代码命令:
git commit -m "(提交信息)"
git push origin HEAD:refs/for/master(branch)
3.追加提交
git commit --amend
git push
4.远程分支拉到本地
git branch --set-upstream-to=origin/v2.1.0
5.打TAG
git tag 2.1.1
git push origin 2.1.1
git tag
git show 1.0
6.创建新分支
git checkout -b v2.1.0
git push origin v2.1.0
7.添加到可以commit
git add
git add . (空格+ 点) 表示当前目录所有文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
8.碰到拉代码有冲突的情况:
git pull 出现冲突后可以暂存本地修改git stash ,然后git pull 更新代码,
git stash list 可查看暂存记录列表,释放本地暂存 git stash apply stash@{0} ,出现冲突文件,
找到并解决,然后可以提交git add . 加入索引库,然后本地提交git commit -m '注释' 最后git push到远程
9.碰到拉代码有冲突的情况:
方法一:git pull出现冲突后可以暂存本地修改git stash ,然后git pull 更新代码,
git stash list可查看暂存记录列表,释放本地暂存 git stash apply stash@{0} ,出现冲突 文件,
找到并解决,然后可以提交git add .加入索引库,然后本地提交git commit -m '注释' 最 后git push到远程
10.当前分支提交的代码合并到另外一个分支
git checkout v2.1.4(分支名)
git cherry-pick 2e01c821d182c4b9aad9455084d68139494e6aeb(commitId)
如果有冲突,那么可以在手动解决完冲突后,自己使用git cherry-pick --continue继 续,也可以放弃git cherry-pick --aboart,这时候 的放弃操 作不会对之前的分支 造成任何影响
11.未使用git add缓存代码时。
可以使用git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记 中 间的“--”,不写就成了检 出 分支了!!)。放弃所有的文件修改可以使用 git checkout .命令。
此命令用来放弃掉所有还没有加入到缓存区(就是git add命令)的修改:内容修改与 整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入 到git的管理系统中。所以对于git是未知的。自己手动删除就好了。
12.已经使用了git add缓存了代码。
可以使用git reset HEAD filepathname(比如: git reset HEAD readme.md)来放弃指定 文件的缓存,放弃所以的缓存可以使用git reset HEAD .命令。
此命令用来清除git对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使 用本 命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一) 中的 操作,就可以放弃本地的修改。
13.已经用git commit提交了代码。
可以使用git reset --hard HEAD^来回退到上一次commit的状态。此命令可以用来回退 到任意版本:git reset --hard commitid
你可以使用git log命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第 一行就是commitid:
14. 拉取新项目
首先新建一个要放项目的文件夹,输入git init,可以发现文件夹中多了一个.git的文件 夹,然后输入git clone XXXXX(项目仓库地址)
网友评论