git命令

git 命令

创建本地仓库
1、mkdir learngit #创建目录
2、git init #进入刚创建的目录下cd learngit,初始化git仓库
3、把文件放入git仓库需要2步:
①先添加文件:git add filename
②提交文件:git commit -m “提交内容说明”
可以提交多个文件,先添加多个文件再提交:git add filename1.txt git add filename2.txt
或者提交文件夹:git add folder1/. folder2/. (这次是修改了两个文件夹中的多个文件,用了“/.”,中间也是空格,实现了add 多个修改的文件)
提交:git commit -m “add 3 files.”

git push -u origin master/release #第一次推送master分支的所有内容、或后续推送到github

4、git status #查看git仓库当前的状态
5、git diff filename #查看修改的内容
6、git log #显示从最近到最远的提交日志
7、git log --pretty=oneline #每次更新只显示一条信息
git log --graph --pretty=oneline --abbrev-commit #用带参数的git log查看分支的合并情况
8、git reset --hard HEAD^ #回退到上一个版本,HEAD表示当前版本,HEAD^表示当前的上一个版本
9、git reset --hard 1094ab #回退到1094ab版本,版本号不用写全,前6、7位就够了
10、git reflog #记录每一次命令
11、 工作区(增删改查文件)–> 版本库(暂存区:stage、分支:master、release)
12、git checkout – file #丢弃工作区的修改 – 很重要,没有–,就变成了切换到另一个分之,用版本库的版本替换工作区的版本
13、git reset HEAD file #把暂存区的修改撤销掉,重新放回工作区
14、git rm file #删除文件

本地首次向github提交
15、在本地创建ssh key,在用户主目录下看有没有.ssh目录,再看有没有id_rsa和id_rsa.pub这2个文件
如果没有,打开git bash,创建ssh key:ssh-keygen -t rsa -C “youremail@example.com”
提供公钥
公钥存放路径:C:\Users\DXZ-Liangfa.Xiong.ssh
16、git remote add origin git@server-name:path/repo-name.git #关联远程库
17、git push -u origin master、release) #第一次推送master分支的所有内容
18、git push origin master #推送最新修改

本地首次从github上克隆代码
19、git clone git@github.com:michaelliao/gitskills.git #克隆
20、git branch #查看分支
21、git branch name #创建分支
22、git checkout name 或者 git switch name #切换分支
23、git checkout -b name 或者 git switch -c name #创建+切换分支
24、git merge name #合并某分支到当前分支
25、git branch -d name #删除分支
26、当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
27、git merge --no-ff -m “merge with no-ff” dev #在master分支合并dev分支,–no-ff参数,表示禁用fast forward
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
合并后,用git log --graph --pretty=oneline --abbrev-commit 查看分支历史
28、git stash #把当前工作现场隐藏起来
29、git stash list #查看隐藏的工作内容
30、git stash apply #恢复,恢复后没有删除stash的内容,还需要用git stash drop来删除
git stash pop #恢复的同时把stash内容也删除了
git stash apply stash@{0} #恢复到指定的shash
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;
在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
遇到的问题解决:切换到dev分支后,先不stash pop,而是先git cherry-pick *******,然后再pop,这样就没问题了,文件也确实按照修改的来。确实还是要在理解的基础上,好好看error提示,多百度多google
正确的步骤: git add test(让git去追踪这个新文件) git stash保留现场 如果我不执行这两个命令,那么我在修改BUG完成之后 git status,就会发现readme.md 没有添加到暂存区,同时又多了个test文件,
但是自己的readme.md没有完成,万万不可以提交,这样导致bug的修改代码也提交不了。所以你需要 git stash,这样你在提交修改bug代码的时候 ,就不会看见readme.md 和 test。可以安心提交修改bug的代码。

31、从master创建新分支,先切换到master,再创建分支
git checkout master
git checkout -b branchname

32、开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

33、当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
要查看远程库的信息,用git remote -v

34、多人协作
1、查看远程库信息,使用git remote -v;
2、本地新建的分支如果不推送到远程,对其他人就是不可见的;
3、从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
4、在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
5、建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
6、从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支
现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:
$ git checkout -b dev origin/dev

35、标签
①切换到需要打标签的分支上,打分支:git tag v1.0
②查看标签:git tag
③默认标签是打在最新提交的commit上的,找到历史提交的commit id,可以补打
git tag v1.1 f52c633
④标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息:
git show v1
⑤还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a v1 -m “version 1 released” 1094abcd

36、操作标签
①删除标签:git tag -d v1 (创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除)
②推送标签到远程:git push origin tagname
③推送全部尚未推送的标签到远程:git push origin --tags
④删除远程标签:先删除本地的标签,再删除远程的标签
git push origin :refs/tags/v1

37、
①先删除已关联的远程库origin: git remote rm origin
②关联码云的远程库:git remote add gitee git@gitee.com:xiongliangfa/learngit.git
③关联github的远程库:git remote add github git@github.com:xiongliangfa/learngit.git
④查看远程库信息:git remote -v
⑤推送到github:git push github master
⑥推送到码云:git push gitee master

38、git配置文件
每个仓库的Git配置文件都放在.git/config文件中,而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中
https://github.com/github/gitignore

39、配置别名
git config --global alias.st status

40、git命令列表
https://gitee.com/liaoxuefeng/learn-java/raw/master/teach/git-cheatsheet.pdf

41、同步
git fetch -p

42、git 提交代码后,github没有显示,需要查看邮箱是否正确
①git show #查看里面的个人信息是否跟github设置里的一样
②git config --global user.email “youremail@example.com” #修改邮箱
③git config --global user.email #再一次输入

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值