git常用命令

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

# 软重置,改变本地HEAD的指针, 指向commitId6,把最近5步的提交还原到工作区
git reset HEAD~5
git reset commitId5
# --hard commitId 强制移动指针到这个分支,会销毁它前面的所有的信息,本地的修改也会还原,是蛮危险的行为
git reset --hard commitId5

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

git reset命令把当前分支指向另一个位置,并且相应的变动工作区和暂存区
git reset --hard HEAD让工作区回到上次提交时的状态
git revert用一个新提交来消除一个历史提交所做的任何修改
git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit

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、使用一次新的commit,替代上一次提交

git commit --amend -m "new message"

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值