git常用命令

  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

文章目录
  1. 1. 基本命令
  2. 2. 修改撤回
  3. 3. 分支
  4. 4. 标签
  5. 5. 文件追踪问题
  6. 6. windows gitk 乱码
  7. 7. 某次提交合并到分支上
  8. 8. git绑定两个远程仓库
|