git常用命令
基本命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| 1、克隆代码 git clone 地址 2、查看当前状态 git status 状态分为 "未跟踪" Untracked 未跟踪的文件需要git add 添加之后,执行commit才会保存到版本库中。 "已经修改" modified 执行commit才会保存到版本库中。 "已经删除" deleted 本地删除文件不代表版本库中已经删除,需要执行git rm [文件名] 3、添加未跟踪文件 git add [文件名] 注意:不要git add . 这样会让eclipse生成的文件也add进去。 使用add * 使用 `git add *.java, *.jsp` 4、提交代码 git commit [文件名] -m "注释" 5、从版本库拉代码 git pull 6、代码提交到版本库 git push 7、查看文件修改情况 git diff [文件名] 如果不加文件名,会将所有已经修改的文件与版本库进行比较 8、回滚 git reset [--hard] [--mixed] [--hard] 是强制抹除修改,未提交的修改会丢失。 git reset --hard #######慎重使用##### [--mixed] 是保存修改,相当于重新提交。 9、rebase git rebase [分支名] //一般基于origin/master rebase 即 git rebase origin/master 本次提交后,从版本库拉去代码,别人也修改了。此时两者不在一条线上,rebase合并。 出现冲突时, 1、查看那些文件冲突: git status 2、修改: 3、将冲突文件修改后添加:git add 文件名 4、git rebase --continue 10、图形界面工具 gitk --all
|
修改撤回
1 2 3
| git diff > tmp.diff //修改内容暂存置tmp.diff git reset --hard //去除修改 rm -f tmp.diff //删除tmp.diff
|
分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| 1、查看本地分支 git branch * dev master *代表当前位于dev分支 2、查看远程分支 git branch -r origin/dev origin/master 3、查看本地和远程分支 git branch -a 4、创建分支 git checkout -b new_branch 注意,new_branch的代码来自于当前分支 5、切换分支 git checkout another_branch 和创建分支就差-b参数 6、push本地分支代码到远端服务器 git push origin branch_name 如果远端服务器没有该分支,将会自动创建 7、pull远端分支代码到本地对应分支 git pull origin branch_name 8、删除本地分支,首先切换到别的分支,然后才能删除某个分支 git checkout b git branch -d a 9、删除远程分支 git push origin --delete branch_name 10、合并本地分支b4.5到master上: git checkout master git merger b4.5 将本地的b4.5分支代码合并到当前分支master中 出现冲突: 1、修改冲突文件 2、git add 3、git commit 11、合并远程分支,和前面的几乎一样, git merge origin/b 远程分支b被合并到本地当前分支dev中了。 12、重命名分支: git branch -m <old_name> <new_name> (如果有同名会失败,改用 -M 可以强制覆盖)
|
标签
1 2 3 4 5 6 7 8 9 10 11
| 1、查看本地标签: git tag 2、推送所有标签: git push --tags 3、删除本地标签: git tag -d 标签名 4、删除远程标签: git push origin --delete tag 标签名
|
文件追踪问题
1 2 3 4 5 6
| 如果我们不小心将某个文件加入了 git 版本控制,但是突然又不想继续跟踪控制这个文件了,怎么办呢? 使用 git update-index 即可。 不想继续追踪某个文件 git update-index --assume-unchanged your_file_path 如果想再次继续跟踪某个文件 git update-index --no-assume-unchanged your_file_path
|
windows gitk 乱码
1 2 3 4
| vi .gitconfig。 或者打开C:\Users\cage\.gitconfig文件 在文件末尾加上: [gui] encoding = utf-8
|
某次提交合并到分支上
1 2 3 4 5 6 7 8 9
| 将分支b2上的某次提交合并到分支b1上。 1、b2分支上:查看commit号 git log 2、切换到b1分支 git checkout b1 git cherry-pick ef895d2b76610d9c41e901e09e4c483a132870e2 3、出现冲突,解决后使用 git add filepath git cherry-pick --continue
|
git绑定两个远程仓库
http://www.cnblogs.com/beileixinqing/p/7493302.html