git clone git status git log git add/commit git diff git push git cherry-pick git stash等总结

    2017年开始使用git,这里总结下用到的cmd,会持续跟新。

    GIT可以在windows和linux两种操作系统中运行,这里记录的是linux下的操作方式。

autor   --表示提交者

 

编号

功能说明

command

1            

clone                 

$ git clone <版本库的网址> <本地目录名>

 

git clone ssh://autor@192.168.100.51:29419/kunlun.git

 

2

status

git status

3

log

git log  (显示log)

 

git log -p -2   (p,表示展开更改,2表示最近的两个commit)

 

4

add/commit

git add  xxx     (将xxx从工作区增加到缓存区)

 

git commit     (将缓存区的改动,提交到分支上去,变成一个commit,生成change_id)

 

git commit --amend  (这次提交,和上次提交为一个提交,共用一个change id)

 

git commit --amend --author 'autor<autor@iotelic.com>'  (这次提交,和上次提交为一个提交,共用一个change id,并且更改提交的作者)

 

5

diff

git diff   (显示不同的部分)

6

push

git push <远程主机名> <本地分支名>:<远程分支名>

 

git push ssh://autor@192.168.100.51:29419/kunlun.git HEAD:refs/for/master

 

git push --no-thin ssh://autor@192.168.100.51:29419/kunlun.git HEAD:refs/for/master

 

7

撤销git add的文件

git reset HEAD <xxx>  (将文件xxx,从缓存区中撤回到工作区中)

8

撤销git commit

git reset  --soft  <xxx>               (xxx表示commit的id,表示将改动commit的改动撤回到工作区中)

 

git reset --hard <xxx>               (xxx表示commit的id,表示直接回退到该xxx版本)

 

9

pull

$ git pull <远程主机名> <远程分支名>:<本地分支名>

 

git pull ssh://autor@192.168.100.51:29419/kunlun.git master:master   (从远程master分支上pull到本地master分支上)

 

$ git pull --rebase <远程主机名> <远程分支名>:<本地分支名>

 

10

撤销未提交更改

git checkout -- <xxx>

11

分支

git branch -a   (-a表示查看所有分支,包括远程分支)

 

git branch -D <branch name>    (删除分支)

 

git branch <branch name> <remote branch>      (创建分支)

 

git checkout -b <branch name>   (切换到分支)

 

12

Cherry pick

1.git branch 查看branch

2.git checkout <branch1>  切换到branch1

3.git log  查看准备cherry pick的commit,并几下这个commit1

4.git checkout <branch2>  切换到branch2

5.git cherry-pick <commit1>

如果顺利,这样就将 branch1的 commit cherry pick到branch2上去了

如果有conflict, 解决冲突的方式和rebase的相反。

 

Rebase      --> theirs,   记录local

 

Cherry pick --> mains   记录remote

13

Git diff

git diff 是已修改的workspace的修改与库上的code的区别

git diff --cached    查看已经add的修改与库上的区别

14

撤销还没add的更改                               

git checkout -- filename   撤销还没提交的更改

 

15

修改用户名及邮箱

  git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名;

  git 修改当前的project提交邮箱的命令为:git config user.email 你的目标邮箱名;

16

stash

git stash

git stash pop

 

git stash save "work in progress for foo feature"

当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,

git stash list’ 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。

 

git stash          # save uncommitted changes
# pull, edit, etc.
git stash list     # list stashed changes in this git
git show stash@{0} # see the last stash
git stash pop      # apply last stash and remove it from the list

git stash --help   # for more info

17

rebase 丢失commit的情况

当rebase commit丢失的时候,找回丢失commit的方法:

1. git reflog

2. git checkout -b my_recovery  [commit]  回到丢失前的commit状态

3. git reset --soft 之前的一个commit

4. git stash     将改动存到stash里面

5. git checkout master

6. git stash pop

这样之前的改动就回到了master下的工作区内了

 

18

查看某一个文件的log

git log --pretty=oneline 文件名

 

19

 

生成patch

git diff > xxx

 

20查看clone地址

git remote -v

 

21查看某个commit的修改

git show commit_id

eg:git show ffc768c21c2e10b3e631f5e22a09872eef718282

22patch

假如现在操作的位置是第一层目录

patch -p 1 < x.patch

patch -Rp 1< x.patch

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值