git常用命令

git常用命令


基本命令

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

修改撤回

git diff > tmp.diff			//修改内容暂存置tmp.diff
git reset --hard			  //去除修改
rm -f tmp.diff				  //删除tmp.diff

分支

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、查看本地标签:
		git tag

2、推送所有标签:
		git push --tags

3、删除本地标签:
		git tag -d 标签名

4、删除远程标签:
		git push origin --delete tag 标签名

文件追踪问题

如果我们不小心将某个文件加入了 git 版本控制,但是突然又不想继续跟踪控制这个文件了,怎么办呢?
使用 git update-index 即可。
不想继续追踪某个文件
git update-index --assume-unchanged your_file_path
如果想再次继续跟踪某个文件
git update-index --no-assume-unchanged your_file_path

windows 乱码

gitk --all打开,中文乱码

vi .gitconfig。 或者打开C:\Users\cage\.gitconfig文件
在文件末尾加上:
[gui]
    encoding = utf-8

git status时,中文文件名字乱码:

git 默认中文文件名是\xxx\xxx等八进制形式,是因为 对0x80以上的字符进行quote

git config --global core.quotepath false

某次提交合并到分支上

将分支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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值