作为程序员必须要会用版本工具,大部分公司用git或者svn。所以如何使用git命令也是我们需要学习的,git命令很容易忘记
这里我将记录下在我使用git的一些容易忘记的命令
以下所有命令都是在Android Studio的Terminal下执行; 文章所有dev代表分支名称
1.更新代码:
git pull
1.提交代码:
git push
3.本地代码首次提交到远程服务器:
git init
mkdir test
cd test
git init
git add .
git commit -m 'first commit'
git remote add origin (git@github.com:youusername/test.git⑤)括号内是远程仓库地址
git push -u origin master
如果⑤输错,$ git remote rm origin再继续
如果最后一步报错提示需要git pull时,原因是你创建了一个README,远程版本比本地新,此时你可以强制提交。
使用git push -u origin master -f。
这样做会覆盖掉README文件,可以先保存一份,等提交上去在写,然后项目git pull就Ok了。
4.查看分支:
git branch -a
5.新建本地分支:
git checkout -b dev(分支名)
//本地分支提交到远程
git push origin dev
6.删除分支:
//本地
git branch -d dev
//远程
git push origin -d dev
7.切换分支:
//本地已经存在的分支
git checkout dev
//本地不存在,但是远程存在,输入git branch -a如果看不到dev分支,就先执行一次git pull在执行下面指令
git checkout -b dev origin/dev
8.替换用户名和邮箱:
git config --global user.name XXX
git config --global user.email XXX
9.删除远程的提交:
有时候突然发现提交了一些错误代码或者别人不能看的代码想要撤回时;确保还没其他人提交之前,进行强制回滚
git reset --hard HEAD~2//(数字代表回退几个版本)
git push -f //强制覆盖
10.回退到指定版本:
git reset --hard 68b854 //数字代表版本编号
11.清缓存重新add:
git rm -r --cached .
git add .
12.failed to push some refs to 解决方法:
http://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html 看这个链接
13.git add 多了文件 :
git reset HEAD //上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java //指定某个文件进行撤销
14.git 合并分支 :
//合并完记得解决下冲突的文件
git merge dev
15.git忽略文件:
有时候修改了.gitignore
文件,但是当我们提交时却发现规则没有生效。
其实是因为.gitignore文件只能对没有纳入版本管理的文件生效(也就是.gitignore只能忽略那些没有被track的文件)。某些文件已经被纳入了版本管理中,那么修改.gitignore是无效的。解决方法就是要先把本地缓存删除,然后再提交。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
16.git修改分支名称:
//下面的old是老分支名称 new是新分支名称
git branch -m old new
git push origin :old
git push --set-upstream origin new
17.git迁移服务器地址,本地代码直接关联新的服务器:
//xxx是新的服务器地址
git remote set-url origin xxxx
18.git tag命令:
1.创建分支
git tag <name>
2.查看所有tag
git tag
3.删除本地tag
git tag -d <name>
4.删除远程tag,先删除本地tag,然后
git push origin :refs/tags/<name>
5.推送到远程
git push origin <name>
6.切换到tag
git checkout <name>
19.git迁移远程仓库地址
迁移前需要将老的库中所有代码所有分支
都pull到本地,然后到项目根目录有(.git)的那个目录,cmd命令行依次执行下面两个命令,等待进度走完,最后别忘记测试一下pull和push是否正常。提交记录也别忘了看下哦~~
方式1 代码都在本地的情况
git remote set-url --push origin 新的远程库地址
git push --mirror 新的远程库地址
方式2 直接推送远程仓库的所有
git clone --bare old.git
cd your_path
git remote set-url origin new.git
git push origin --tags //同步所有tag
git push origin --all //同步所有分支