Git常用命令汇总

1、克隆代码

git clone (-b remote_branch_name) url

2、提交代码

1)查看当前本地分支有哪些文件进行了修改:

git status

2)添加指定文件到暂存区:

git add local_file_name1 local_file_name2

如果需要添加文件夹,则使用:

git add local_dir_name

如果添加当前目录下的所有文件,则使用:

git add .

3)提交暂存区内容到本地仓:

git commit -m "message"

4)提交本地仓代码到远程仓:

git push remote_host_name local_branch_name:remote_branch_name

如果local_branch_name和remote_branch_name相同,则上述命令可以省略最后面的:remote_branch_name

3、回退

(1)git add回退

git status

git reset HEAD (local_file_name)

(2)git commit回退

git reset --hard(soft) HEAD^

(3)git push回退

git reset --hard(soft) HEAD~N

git push -f remote_host_name local_branch_name

4、分支

(1)查看当前分支:

git branch

(2)查看所有本地分支和远程分支:

git branch -a

(3)查看所有远程分支:

git branch -r

(4)根据远程分支创建本地分支:

git checkout -b local_branch_name remote_host_name/remote_branch_name

(5)切换分支:

git checkout branch_name

(6)重命名本地分支:

git branch -m old_branch_name new_branch_name

(7)删除本地分支:

git branch -d local_branch_name

(8)删除远程分支:

git push origin --delete remote_branch_name

(9)将修改后的本地分支与远程分支关联:

git branch --set-upstream-to remote_host_name/remote_branch_name

5、检出

(1)检出指定提交:

git cherry-pick commitId

(2)检出多个指定提交:

git cherry-pick commitId1 commitId2 …

(3)检出两个提交之间的所有连续提交(左闭右开):

git cherry-pick commitId1..commitIdn

(4)检出两个提交之间的所有连续提交(闭区间):

git cherry-pick commitId1^..commitIdn

(5)cherry-pick过程中解完冲突后:

git cherry-pick --continue

(6)cherry-pick完成使用push命令进行提交:

git push remote_host_name local_branch_name

(7)放弃cherry-pick:

git cherry-pick --abort

6、patch

(1)生成指定文件的patch:

git diff file_name > patch_name.patch

(2)生成所有文件的patch:

git diff > patch_name.patch

(3)生成最近N次提交的patch:

git format-patch HEAD~N

(4)生成单个提交的patch:

git format-patch -1 commitId

(5)生成某个提交以来的patch(不包含该提交):

git format-patch commitId

(6)生成两个提交之间的patch:

git format-patch commitId1..commitIdn

(7)生成从根到某个提交的所有patch:

 git format-patch --root commitId

(8)应用patch:

git apply patch_name.patch

7、内容存储

(1)缓存当前的修改并移除:

git stash

(2)缓存当前的修改并移除,同时添加备注:

git stash save "message"

(3)查看缓存中的所有内容:

git stash list

(4)应用缓存中最新的内容:

git stash apply

(5)应用缓存中的指定内容:

git stash apply stash@{num}

(6)应用缓存中最新的内容,并删除缓存中相应的内容:

git stash pop

(7)移除指定的缓存:

git stash drop stash@{num}

(8)移除全部缓存:

git stash clear

(9)显示最新缓存与当前分支的差异:

git stash show stash@{num}

8、其它操作

(1)修改提交信息:

1)git rebase -i commitId

2)在弹出的vim编辑器中,把需要修改的commit信息从pick改为edit

3)git commit --amend

4)git rebase --continue

中途退出修改命令:

git rebase --abort

提交到远程仓:

git push -f remote_host_name local_branch_name

(2)增加源:

git remote add branch_name url

(3)统计指定提交者的代码量:

git log (--since="yyyy-mm-dd" --before="yyyy-mm-dd") --author="userName" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2;

 loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %sn", add, su

bs, loc }' -

(4)统计所有提交者的代码量:

git log (--since="yyyy-mm-dd" --before="yyyy-mm-dd") --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

(5)统计指定提交者的提交次数:

git log (--since="yyyy-mm-dd" --before="yyyy-mm-dd") --author="userName" --oneline | wc -l

(6)统计所有提交者的提交次数:

git shortlog (--since="yyyy-mm-dd" --before="yyyy-mm-dd") -s -n

(7)配置git:

git config --global user.name "name"

git config --global user.email "email@example.com"

(8)查看git配置:

git config user.name

git config user.email

(9)本地删除文件后重新从远程仓拉取:

git checkout .

注:

1、()为可选项;

2、绿色字为可变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值