git使用命令行归纳,总结自廖雪峰的git教程

 
 安装git
 sudo apt-get install git
 创建版本库
 mkdir [文件夹]
 cd [文件夹]
 git init
 创建文件
 touch [文件名]
 cp [文件名] [版本库文件夹下的子目录或者根目录]
 git add [文件名] #将文件从工作区加入到暂存库里面去
 git commit -m "修改信息" #将文件从暂存区加入到仓库
  
 版本回退
 git reset --hard HEAD^ #回到上一个版本
 git reset --hard [版本号id前4个数字] #回到相对应的版本
 git log #查看修改过的所有版本
 git reflog #查看记录的每一次命令
 git status #查看仓库文件信息
  
 管理修改
 git diff HEAD -- [文件名] #命令可以查看工作区和版本库里面最新版本的区别
 git checkout -- [文件名] #撤销工作区的修改
 git reset HEAD [文件名] #撤销暂存区的修改
 git reset --hard [版本号id前4个数字] #撤销仓库的修改
  
 删除文件
 rm [文件名] #从工作区删除
 git rm [文件名】#从仓库删除
 git commit -m "修改信息" #更新仓库
  
 添加远程库
 在github官网新建仓库,在本地仓库使用以下命令
 git remote add origin git@github.com:用户名/git仓库名.git #关联远程仓库
 第一次使用
 git push -u origin master #推送本地内容到远程仓库
 以后如果要同步远程仓库只需要使用
 git push origin master
 git push origin [分支名]
 远程仓库内容复制到本地
 git clone git@github.com:git用户名/仓库名.git
  
 分支管理
 创建与合并分支
 Git鼓励大量使用分支:
 查看分支:git branch
 创建分支:git branch <name>
 切换分支:git checkout <name>
 创建+切换分支:git checkout -b <name>
 合并某分支到当前分支:git merge <name>
 删除分支:git branch -d <name>
 解决冲突
 当创建新的分支后,如果master分支被更新,此时如果其他内容的分支要被同步到maser分支则需要切换到maseter分支再次将工作区的文件提交到仓库(git add git commit),这样两个分区的内容就被合并到一起了
 分支管理
 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
 git merge --no-ff -m "merge with no-ff" dev #--no-ff表示禁用fast forward
 bug分支
 git stash#可以把当前工作现场“储藏”起来,等以后恢复现场后继续工
 然后跳转到其他分支工作之后跳转回来
 git stash list#查看之前中断的现场到哪里去了
 git stash apply stash@{0} #恢复指定的中断现场,不删除stash
 git stash drop #删除中断现场
 git stansh pop #恢复同时删除
 git branch -D <name> #强行删除未合并的分支
  
 多人协调工作
  
  
 查看远程库信息,使用git remote -v;
  
 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  
 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  
 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  
 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
  
 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
  
 打标签
 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
 命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
 命令git tag可以查看所有标签。
 命令git push origin <tagname>可以推送一个本地标签;
 命令git push origin --tags可以推送全部未推送过的本地标签;
 命令git tag -d <tagname>可以删除一个本地标签;
 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
  
 github使用
 在GitHub上,可以任意Fork开源仓库;
 自己拥有Fork后的仓库的读写权限;
 可以推送pull request给官方仓库来贡献代码。
  
 配置别名
 格式如下
 git config --global alias.st status
 git config --global alias.unstage 'reset HEAD'
 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
 #
 配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
 配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值