欢迎投稿

今日深度:

Git工作中的使用,运用到工作中

Git工作中的使用,运用到工作中


Git使用

  • 一、安装git
  • 二、配置git及生成公钥
  • 三、归档处导入公钥
  • 四、项目中常用操作
    • 4.1 准备操作
    • 4.2 修改提交代码
    • 4.3 remote仓库配置
    • 4.4 回退
    • 4.5 谨慎操作
  • 五、后续归档处操作
    • 5.1 issue
    • 5.2 Merger Request
    • 5.3 同步远程私人仓库和远程主仓库
    • 5.4 临时修改代码

视频教材
参考教材

更详细的命令篇可以查看我的另一篇博客

一、安装git

git是一个命令行工具,当前的最新版本是Git-1.9.5-preview20141217.exe。安装过程很简单,一路默认next既可。



二、配置git及生成公钥

git-bash中进行如下操作:

# 编辑用户名、邮箱
git config --global user.name "yourname" 
git config --global user.email "youremail@xxx.com"
# 查看当前的用户名、邮箱
git config user.name
git config user.email

# 生成SSH Key,SSH Key文件保存地址默认既可。直接回车可以跳过设置密码
ssh-keygen -t rsa -C "your_email@xxx.com"

出现如下提示,表示创建SSH Key成功。其中,id_rsa是私钥文件,请妥善保管;id_rsa.pub是公钥,归档处需要设置。



三、归档处导入公钥

在归档处的SSH页面,导入之前生成的公钥id_rsa.pub里的内容,建立信任。
若安装git图形界面(如TortoiseGit-2.4.0.2-64bit),在network中设置SSH Client为git安装目录的/usr/bin/ssh.exe,diff viwer也可以修改为常用的查看文件差异的软件(如Beyond Compared)。



四、项目中常用操作

参考文档

  • 图形界面操作:
    在"git clone"弹出窗口,输入仓库地址,如果使用的是SSH方式clone,那么在"load putty key"中需要指定之前生成的putty私钥。

  • 基本概念:
    工作拷贝(工作目录):用于存放产品开发数据本地工作目录。
    索引(Index):用于存放待提交数据的缓存区。
    本地库:远端库的一个完整的拷贝,包括所有文件的修改记录,分支等。
    远端库:本地库clone来源。
    中心库:远端库的一种,公司级存放某个项目所有产品数据的仓库。
    快照(snapshot):版本库某个时间点所有文件集合。
    全球版本号(commitID):Git库的版本号是通过SHA-1算法根据库中的所有内容计算出一个40位的哈希值,这个哈希值是全球唯一的,基本只要前六位就可以唯一标识了。

4.1 准备操作

# --克隆git仓库
git clone ${url.git}
git init
git config --global user.name "${username}"
git config --global user.email "${useremail}"
git config --global color.ui true

# --创建分支
git branch ${branch-name}
# master是当前分支:
git checkout -b ${branch-name}
# master不是当前分支:
git checkout -b ${branch-name}master
# 修改分支名
git branch -m ${old-branch} ${new-branch}

# --删除分支
# 删除fork上的分支,以及本地对应的remote/${branch-name}分支
git push origin :${branch-name}
# 删除本地的分支
git branch -d ${branch-name}

4.2 修改提交代码

# --查看当前修改状态,-s表示以缩写的形式查看
git status

# --添加文件
# 添加一个指定文件
git add ${file-name}
# 添加全部修改的文件,无删除文件
git add .               
# 添加全部修改的文件,有删除文件  
git add --all             
# 添加已忽略文件
git add -f ${file/path}   

# --提交文件
# 指定提交信息并提交,-am可以合并add
git commit -m ""
# 弹出vim,在其中添加提交信息
git commit
# 覆盖最新一次的提交
git commit –amend

# --将已经提交到暂存区的某个文件取消提交操作
git reset ${file-name}

# 重命名或者移动本地文件或目录,需commit
git mv ${old-file-name} ${new-file-name}

merge参考资料

4.3 remote仓库配置

# --远程仓库配置
git remote add origin ${remote-website.git}      
git branch --set-upstream-to=origin/dev dev    # 将远程分支dev和本地分支dev关联
git remote rm origin	# 删除名为origin的远程仓库

# --提交/拉取
git push origin master
git pull origin master:dev
# pull操作相当于
git fetch origin master
git merge ${FETCH_HEAD}    # 合并到当前所在的分支中
# 根据返回的FETCH_HEAD,查看刚取回的更新信息
git log -p {FETCH_HEAD}

# --remote仓库
# 显示所有的remote仓库
git remote show          
# 查看某一个remote仓库信息  
git remote show origin     

建议使用git-stash命令将这些未commit文件暂存起来,并在解决冲突以后使用git stash pop把这些未commit文件还原出来。

4.4 回退

# 回退到修改前的版本 / 回退到add之后,新修改之前
git checkout -- ${file}
# 回退到add之前的版本,但不修改内容,需要有提交版本
git reset HEAD ${file}
# 回退到指定的commit版本
git log
git reset --hard ${commit-id}

# 使用:进行修改并add,然后修改最近一次提交说明,会将git链指向新的提交,但是前一次的提交仍存在(需要记得commit id)
# 只修改最近一次提交说明,会打开一个vim,在这之前也可以添加删除
git commit --amend        
# 修改多个历史提交,慎用
git rebase -i HEAD~${n} 

4.5 谨慎操作

# 清除本地未被跟踪的所有文件
git clean -f
	      


五、后续归档处操作

5.1 issue

基于issue的开发,可以将issue理解为一个TODO List。issue提交之后,若被接受,需分配到相应的责任人,该issue依次进入coding、testing、verified、closed或者rejected状态。

5.2 Merger Request

提交一个MR,选择相应的项目和分支,需要注意二者之间的冲突。pull远程代码,修改merge conflict文件,保存提交并推送,线上重新发启MR即可。
变更issue状态(改为coding),并附上MR地址

5.3 同步远程私人仓库和远程主仓库

当主库(源项目)更新后,fork库并不会一起更新,需要自己手动去更新。

# 将远程主库site2同步到远程fork库的site1上
git clone ${git code site1}
git remote -v
git remote add ${remote repository name} ${git code site2}
git pull ${git code site2} master
git push ${git code site1} master

5.4 临时修改代码

git stash //暂存代码
git stash list //查看暂存区的所有暂存修改
git stash apply stash@{X} //取出相应的暂存,X为序号
git stash drop stash@{X} //将记录列表中取出的对应暂存记录删除
文章最后发布于: 2019-10-25 10:21:38

www.htsjk.Com true http://www.htsjk.com/shujukunews/38193.html NewsArticle Git工作中的使用,运用到工作中 Git使用 一、安装git 二、配置git及生成公钥 三、归档处导入公钥 四、项目中常用操作 4.1 准备操作 4.2 修改提交代码 4.3 remote仓库配置 4.4 回退 4.5 谨慎操...
相关文章
    暂无相关文章
评论暂时关闭