团队合作必备的Git操作

来自:Python攻城狮,作者:Python攻城狮

Git简介
  • Git是目前世界上最先进的分布式版本控制系统

  • git的使用,主要包括:

  • 本地仓库的命令

  • 远程仓库的命令

  • 项目需求、页面、模型类的设计,及页面的使用


安装

sudo apt-get install git

安装完毕以后,可以运行如下命令查看是否安装成功

git

远程仓库


Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。

1.创建github账号

  • 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

  • step1:创建项目的SSH Key


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


  • 查看你生成的公钥


cat ~/.ssh/id_rsa.pub 


  • 创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

  • step2: 登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key

2.创建远程库

  • 登陆GitHub

  • 在右上角找到“new repository”按钮,创建一个新的仓库

3.从远程库克隆

  • 将github上的项目,克隆到本地一份


git clone git@github.com:账号名/项目名.git

4.与远程库交互

  • 从远程库获取到本地


git pull


  • 将本地提交远程库


git push origin master

注意:每次提交前,需要先获取,解决冲突后再次提交

本地仓库

1.创建本地仓库

  • 创建空目录


mkdir test7
cd test7
pwd  #pwd命令用于显示当前目录。


  • 在目录下创建本地仓库


git init


  • 创建成功后


这个目录默认是隐藏的,用ls -ah命令就可以看见

  • 版本库就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”

2.工作区与暂存区

  • 使用IDE打开目录,创建项目,将文件添加到暂存区


git add 文件1 文件2 ...
git add 目录


  • 使用暂时区的内容恢复工作区的内容


git checkout -- 文件名


  • 查看暂存区的状态


git status


  • 列出本地分支和远程分支


git branch -a 


  • 切换到新的分支


git checkout 分支名

3.暂存区与仓库区

  • 第一次使用git时需要配置自己的用户名和密码


git config --global user.email "you@example.com"
git config --global user.name "Your Name"


  • 将暂存区的记录添加到仓库区


git commit -m '本次提交的说明信息'


  • 查看仓库区的历史

当前版本的历史版本:git log
简版显示:git log --pretty=oneline
历史命令:git reflog
  • 在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

  • 对比工作区和仓库区中某版本某文件的不同

git diff HEAD -- 文件名


  • 对比两个版本的差异 先查看两个版本的id


git diff b70bdf95b6a7cb3e08e d2087ff6c647cde6f31


  • 回退历史版本到暂存区

# 撤销add
git reset
git reset HEAD^或版本号
# 回退到上个提交历史
git reset --soft + 提交的id


  • 把分支推送到远程,建立与本地的连接

# 假设分支名为features_dev
git push origin features_dev:features_dev

git branch --set-upstream-to=origin/features_dev features_dev


  • 把自己的分支推送到主分支 master为主分支,features_dev为自己的分支

git checkout master
git pull
git merge features_dev
git push


  • 查看标签+打标签(主要为了日后回退代码某个版本使用)

# 查看标签
git tag
# 打标签
git tag v1.0.1  
# 推送cangku
git push origin --tags  

4.删除文件

  • 依次执行如下命令

rm 文件名
git rm 文件名
git commit -m '说明信息'
git push


  • 删除分支列表

删除远程已删除的分支列表

git remote show origin

删除本地版本库上那些失效的远程追踪分支
git remote prune origin 

仅看这些命令对于一个新接触git的人来说肯定是有难度的,所以这个过程一定要自己建立一个本地仓库,一步一步操作,这样才是学习git的正确姿势。

推荐↓↓↓
程序员的那点事
上一篇:还想呆在公司养老?别做梦了 下一篇:一个好项目经理顶50个员工!优秀PM的5个职场秘籍