工具组件——Git常用操作总结

Git常用操作总结

Git官网
Git安装Win客户端教程
Git教程

1 Git基本概念

  • Repository(仓库):用于存放项目代码,每个项目对一个仓库
  • Fork(复制克隆项目):该fork的项目是独立存在的
  • Pull request (发起合并请求):fork项目,修改自己仓库的项目代码,新建pull request,等待作者操作(合并)
  • Watch(关注项目):可以接收到项目更新提醒
  • Issue(事务卡片):发现代码bug,但目前没有成型代码,需要讨论时可用

2 本地仓库管理

(1)安装Git并设置用户环境
sudo apt-get install git  //安装Git
git config --global user.name 'yourusername'  //设置用户名
git config --global user.email 'youruseremail'  //设置用户名邮箱
git config --list  //查看用户信息
sudo gedit ~/.gitconfig
(2)获得仓库
mkdir foldername  //创建仓库文件夹
cd foldername  //进入文件夹
git init  //git初始化
git clone URL  //下载远程仓库
(3)文件操作
  • 创建文件
touch filename(a1.php)  //创建文件到工作区

git add filename  //添加文件到暂存区
git commit -m 'git add filename'  //提交(快照)文件到仓库,git add filename'为上传文件的说明

git push  //上传到远程仓库;注意:若在网页对仓库进行修改操作后,再从本地仓库上传文件到远程仓库,需要先“git pull”.
  • 修改文件
//首先在工作区修改文件
git status  //查看状态,非必须
git diff  //查看修改内容,非必须

git add filename  //添加修改文件到暂存区
git commit -m 'git add filename'  //提交(快照)文件到仓库,git add filename'为上传文件的说明

//若出现错误修改
git checkout -- filename  //撤销工作区的修改,让这个文件回到最近一次git commit或git add时的状态
git reset HEAD  //清除暂存区内容
  • 删除文件
rm filename  //在工作区删除文件
git rm filename  //提交删除文件到暂存区
git commit -m 'remove filename'  //在仓库删除文件
(4)版本管理
git log  //查看当前版本及其之前的各版本ID和信息
git reflog  //查看全部的提交和版本切换操作,及操作后对应的版本ID

git reset --hard HEAD^  //切换到前一个版本;HEAD^、HEAD^^、...、HEAD~100
git reset --hard version_id  //切换到指定ID的版本

3 远程管理

(1)预备工作
//1 注册github账号,得到用户名和账户名
//2 本地设置ssh,将用户家目录.ssh文件夹下id_rsa.pub文件中的内容添加到GitHub上
ssh-keygen -t rsa -C "youremail@example.com"
(2)本地仓库关联远程仓库
//1 建立本地仓库(新建文件夹)
git init
//2 为本地仓库设置用户名和账户名
git config --global user.name 'yourusername' //设置用户名
git config --global user.email 'youruseremail' //设置用户名邮箱

//3 GitHub上新建仓库
//4 本地仓库与远程仓库建立关联 
git remote add origin git@github.com:michaelliao/learngit.git
//5 本地仓库于远程仓库保持一致
git pull origin master [--allow-unrelated-histories]
//6 本地仓库上传到远程仓库
git push origin master
(3)本地仓库克隆远程仓库(推荐)
//在GitHub上新建仓库
//在本地克隆远程仓库
git clone git@github.com:tianyuchena/DataStructuresAndAlgorithms.git

//查看远程仓库信息
git remote  //有哪些远程仓库
git remote -v  //查看远程仓库详细信息

//同步分支
git push origin master
git push origin dev
(4)使用代理与取消代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080

git config --global --unset http.proxy 
git config --global --unset https.proxy 

4 分支管理

(1)创建、切换、合并、删除分支
//1 创建分支dev
git branch dev
//2 切换到dev分支,1和2可合并为:git checkout -b dev
git checkout/switch dev 

//查看当前分支情况
git branch

//3 合并dev分支到master分支
git checkout master  //首先切换到master分支
git merge --no-ff -m 'merge dev' dev  //然后执行合并分支操作,--no-ff参数表示禁用Fast forward
git branch -d dev  //最后,可以删除dev分支
(2)修复Bug
//1 当前在dev分支,若工作若还没做完(不能提交),则把当前工作现场存储起来
git stash
//2 切换到需要修复Bug的分支(假设是master)
git checkout master
//3 新建一个Bug分支来修复Bug(假设Bug编号是101)
git checkout -b bug-101
...  //修复Bug过程
//4 修复Bug后合并到master分支并删除Bug分支
git checkout master
git merge --no-ff -m 'merge bug fix bug-101' bug-101
git branch -d bug-101
//5 回到dev分支,并在dev分支修复Bug
git checkout dev
git cherry-pick <commit>  //commit ID可以是bug-101或master的,git log查看
//6 恢复工作现场
git stash list  //查看stash内容

git stash apply  //恢复工作现场,但stash内容不删除
git stash drop  //删除stash内容

git stash pop  //恢复工作现场,同时删除stash内容
(3)开发feature
//开发一个新feature,最好新建一个分支
//如果要丢弃一个没有被合并过的分支,可通过以下命令强行删除
git branch -D <name>
(4)多人协作遇到冲突

请参考:多人协作遇到冲突

5 标签管理

//用于新建一个标签,默认为HEAD
git tag <tagname> [commit id]
//新建标签并添加标签信息,默认为HEAD
git tag -a <tagname> [commit id] -m "blablabla..." 
//删除本地标签
git tag -d <tagname>
//查看所有标签
git tag
//查看某个标签详细信息
git show <tagname>

//推送标签到远程
git push origin <tagname>
//一次性推送全部尚未推送到远程的本地标签
git push origin --tags
//删除远程标签
git tag -d v0.9  //先删除本地标签
git push origin :refs/tags/v0.9  //再删除远程标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值