Git命令使用与常见问题解决

Git命令使用: 
以CTS工程为例:北京海淀信用卡代还【电话/微信:135-2093-5605】,visa卡套现、积分POS机◆长期有效◆欢迎来电咨询办理! 
1.首先安装Git客户端,然后配置生成sshKey。 
首先从服务器上下载代码到本地,如下命令: 
git clone [email protected]:tx/cts.git 
默认是下载的master分支下的代码,如果需要切换到某个分支下,需要进入到cts目录下,然后git checkout feature_20160701_yanshi,表示进入到feature_20160701_yanshi这个分支下,然后git pull,就可以获取该分支下所有最新文件。 
然后可以在本地做开发,如果需要提交: 
git add .     将默认当前目录下所有文件(包括新增的(加入git管理),更改的,删除的(已经被git管理的)),如果没有新增文件可以省略此步骤。 
git commit -a -m "注释"   提交到本地仓库(注释就是你本次改动的内容) 
git push 提交到远程仓库 

常见问题解决: 
1.1 git stash 命令使用 
git stash save –a   ‘111111’  保存当前的工作现场 
如果某个分支下正开发一半,需要切换到另一个分支下,又不想提交本地修改的代码,这时可以用git stash 命令来保存。(git stash save  -a 11111111 以11111111为提示名字保存) 
如果在一个分支上想要恢复某一个工作现场怎么办:先用git stash list查看stash队列。确定要 恢复哪个工作现场 到当前分支。然后用git stash pop stash@{num}。num 就是你要恢复的工作现场的编号。 
1.2切换分支报错解决 

此时需要进入git版本控制的目录下,才能正确切换分支。正确做法如下: 

1.3 Git push 错误解决 
当出现Updates were rejected because the tip 时,由于在本地某个分支下开发,开发完了,要提交,git push 报错,Updates were rejected because the tip,意思是说远程资源库中有最新的文件了,你的本地文件不是最新的,需要更新(pull)。如下: 
这时候需要备份自己修改的文件,然后下载当前分支的最新版本,在此基础上做二次开发,然后git commit –m  ‘’  ,最后git push 即可。 

解决方法是: 
1.先将自己修改的文件一一备份,然后到另外一个新的目录下,去执行 
git clone [email protected]:tx/cts.git 
命令,然后切换到你要开发的分支下面(feature_20160706_userManage),执行git pull  命令,保证获取当前分支下的最新版本, 
2.然后导入eclipse里面,将自己修改的文件做二次开发(第一步有自己备份的文件)。 
3.然后进入git命令行,切换到当前分支下(git checkout feature_20160706_userManage 
),执行 git commit –m ‘注释’命令,然后执行git push即可提交都远程分支上。 
验证方法: 
新建一个目录,执行git clone [email protected]:tx/cts.git  命令,然后切换到feature_20160706_userManage分支下,执行git pull命令,看看自己修改的代码是不是最新版本。 

1.4 git status命令详细解释 
git status命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件.。 
比如; 
git status 
# On branch master 
# Changes to be committed: 
#   (use "git reset HEAD <file>..." to unstage) 
# 
#       modified:   2.txt 
# 
# Changes not staged for commit: 
#   (use "git add <file>..." to update what will be committed) 
#   (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#       modified:   1.txt 
# 
# Untracked files: 
#   (use "git add <file>..." to include in what will be committed) 
# 
#       1.log 
命令中”Changes to be committed“中所列的内容是在Index中的内容,commit之后进入Git Directory。 
命令中“Changed but not updated”中所列的内容是在Working Directory中的内容,add之后将进入Index。 
命令中“Untracked files”中所列的内容是尚未被Git跟踪的内容,add之后进入Index 
通过git status -uno可以只列出所有已经被git管理的且被修改但没提交的文件 

猜你喜欢

转载自xu520010.iteye.com/blog/2317838
今日推荐