git常用命令总结

检查git是否安装:$ git

添加git个人信息

$ git config --global user.name "Your Name"

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

创建一个版本库

$ mkdir learngit //创建一个空目录

$ cd learngit  //切换到learngit目录

$ cd -  //退回上一个目录

$ pwd  //显示当前目录

把这个目录变成Git可以管理的仓库:$ git init

查看版本库状态:$ git status

查看具体修改了什么内容

$ git diff

$ git diff readme.txt 

提交修改和提交新文件是一样的两步

$ git add readme.txt

$ git commit -m "注释说明"

$ git add * -f //添加所有文件

查看版本库中的文件:$ ls

查看版本库修改记录

$ git log

$ git log --pretty=oneline  //简洁版

把当前版本回退到上一个版本

$ git reset --hard HEAD^

$ git reset --hard HEAD~100  //回退到上100个版本

$ git reset --hard 3628164  //回退到某个修改的版本号

查看某个文件的内容:$ cat readme.txt 

查看工作区和版本库里面最新版本的区别

$ git diff HEAD -- readme.txt 

把暂存区的修改撤销掉(unstage),重新放回工作区

$ git reset HEAD readme.txt

丢弃工作区的修改,使其恢复之前状态(还未add进暂存区)

$ git checkout -- readme.txt

普通删除工作区中没用的文件

$ rm test.txt

确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit

$ git rm test.txt

$ git commit -m "注释说明"

删除某目录下文件

$ git rm SSH/* -r

$ git commit -a -m remove .idea’ //提交.注意是单引号

把误删的文件恢复到最新版本(没有commit之前)

$ git checkout -- test.txt

 

远程连接模式github

连接github,提供Git仓库托管服务;id_rsa是私钥,id_rsa.pub是公钥,可以放心地告诉任何人

$ ssh-keygen -t rsa -C "youremail@example.com"

本地仓库的内容推送到GitHub仓库,先将本地仓库与之关联

$ git remote add origin git@github.com:Andsion/learngit.git

下一步,就可以把本地库的所有内容推送到远程库上

$ git push -u origin master

从现在起,只要本地作了提交,就可以通过命令提交到Github,前提本地已经commit

$ git push origin master //master分支是主分支,因此要时刻与远程同步;

克隆一个本地库,将Github项目克隆到本地

$ git clone git@github.com:Andsion/gitskills.git

 

<-- 分支总结 -->

查看分支:$ git branch

创建分支:$ git branch name

切换分支:$ git checkout name

创建+切换分支:$ git checkout -b name

合并某分支到当前分支:$ git merge name

删除分支:$ git branch -d name

查看分支合并图:$ git log --graph 

禁用Fast forward合并分支:$ git merge --no-ff -m "说明" dev

 

隐藏当前工作区的改动:$ git stash

查看隐藏的信息:$ git stash list

恢复隐藏的工作内容

用git stash apply恢复,恢复后,stash内容并不删除,需要用git stash drop来删除

git stash pop,恢复的同时把stash内容也删了

恢复指定的stash(先用git stash list查看)

$ git stash apply stash@{0}

 

团队协作

你的小伙伴要在dev分支上开发,就必须创建远程origindev分支到本地

$ git checkout -b dev origin/dev

首先,可以试图用git push origin branch-name推送自己的修改;

$ git push origin master

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

$ git pull

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令

 

$ git branch --set-upstream branch-name origin/branch-name

 

冲突解决的一般过程

1.查看冲突

git rebase master

2.解决完一个补丁应用的冲突后,执行下面命令标记冲突已解决

git add -u

3.重新add  commit 修改后的文件

4.如果想回到rebase执行之前的状态,可以执行

git rebase --abort

 

创建标签

1.首先,切换到需要打标签的分支上

$ git checkout master

2.敲命令git tag <name>就可以打一个新标签

$ git tag v1.0

3.用命令git tag查看所有标签

$ git tag

4.默认标签是打在最新提交的commit上,若要打之前的标签,需要找到历史提交的commit id

$ git tag v0.9 6224937

$ git tag -a v0.1 -m "version 0.1 released" 3628164  //带说明的标签

5.用命令git show <tagname>可以看到说明文字

$ git show v0.1

6.标签打错了,也可以删除,只是本地删除,需要推送某个标签到远程

$ git tag -d v0.1  //删除标签

$ git push origin v1.0  //推送

$ git push origin --tags  //推送全部尚未推送到远程的本地标签

7.删除远程标签

$ git tag -d v0.9  //先从本地删除

$ git push origin :refs/tags/v0.9  //然后,从远程删除

 

过滤文件

输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件

# 过滤文件夹

build/

# 过滤所有.class文件

*.class

# 过滤.gitignpre文件

.gitignpre

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值