您的位置:首页 > 其它

git常用命令

2016-05-09 23:53 239 查看

1、拉取项目

git clone git@XXXX


2、向仓库中添加新文件

working directory to staging area:

git status; git add README


or

git add .


staging area to git repository:

git status; git commit -m "init repo"


历史提交commit日志:

a. 查看提交记录

git log


b. 查看所有的修改内容

git log -p


c. 绚丽展示

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative


上面的所有命令都是本地操作,并不会与远端有任何通信

3、查看已修改的内容

git diff --cached


git diff README README^


^表示向前推进一个版本

git查看修改历史

git log --oneline
git show f8e2ddc


4、 直接提交到仓库

git commit -a -m "modify README"


commit -a
相当于自动地add所有改动的代码,使得所有的开发代码都列于index file中,自动地删除那些在index file中但不在工作树中的文件,执行commit命令来提交

5、删除文件

本地删除

rm README


从git中删除

git rm README


or

git rm -r dir


提交操作

git commit -m "delete README"


6、撤销本地修改

对于未进暂存区的文件:

git checkout -- file


对于已
git add
进暂存区的文件,使用

git reset file


命令取消暂存,再用

git checkout -- file


撤销本地修改,一步到位:

git checkout HEAD -- file


撤销过去5个commit

git reset HEAD~5


7、重命名文件

git mv README README1


git commit -m "rename README"


8、分支操作

创建分支:

git branch new_branch


上面命令不切换到新分支上,创建并切换到新分支使用:

git checkout -b new_branch


查看当前分支:

git branch


关联远程分支:

git branch -u origin/branch


查看所有分支:

git branch -a


查看远程分支:

git branch -r


移除过期的branch:

git branch -d old-merged-feature


9、分支切换

git checkout master


10、拉取最新代码

git pull


git fetch


区别是git fetch只是将远端的信息同步到本地,并不会覆盖本地工作目录的代码,而git pull相当于fetch之后又做了一次merge

11、提交代码到远程服务器

git push


12、合并分支

git merge --no-ff new_branch


13、多次commit合并

git rebase -i head~4


-i(interactive)模式展示,操作最近4次的提交

14、代码暂存

在分支 A 上工作,突然要改分支 B 上的代码,并不想提交分支 A,而希望保留现在的改动,这时可以使用:

git stash


等从分支 B 切换回分支 A 时,使用如下命令来恢复之前的改动

git stash apply <stash@{n}>


或者回到最后一个stash的状态,并删除这个stash

git stash pop


查看所有 stash

git stash list


删除最新 stash

git stash drop


删除所有 stash

git stash clear


15、打tag

查看标签

git tag


本地创建标签

git tag -a v1.2.4 -m "统计近30天的ctr"


推送标签到远程仓库

git push origin v1.2.4


16、撤销已push到远端的commit

git reset --hard version_number
// --hard会抛弃当前工作区的修改
// --soft的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交
git push origin branch_name --force


17、删除.idea文件,.gitignore

git rm --cached -r .idea


18、删除未被追踪的文件

git clean -fdx
-f - force
-d - directories too
-x - remove ignored files too


19、拉去远程别人的分支

// --track is shorthand for git checkout -b [branch] [remotename]/[branch]
git fetch --all
git checkout --track origin/daves


20、撤销代码合并merge

git reset --hard ORIG_HEAD


21、修改已经提交但未push的信息

git commit --amend -m "new message"


最后,用阮一峰的《Git远程操作详解》里面的一张图总结:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: