git常用命令,git版本管理,git代码提交,这些可满足大部分需求

本文仅讨论客户端的使用。git命令特别多,且大都支持带各种参数,因此达到某个目的的方法是多种多样的,以下仅为示例

以 下面的两个前提为例:

  • 用户名:xiaowang@qq.com
  • 对应用户名:xiaowang
  • 服务器为:192.168.2.06
  • 仓库名:teststo
  • 仓库teststo已包含分支:master 、test_t1、test_t2

0. 安装git工具

  • windows上可安装git bash客户端
  • ubuntu上使用apt-get安装git
  • 可视化辅助工具(可选):
    • gitk,如果不支持则安装该工具(linux/windows均可使用)
    • TortoiseGit,和svn的Tortoisesvn几面类似(windows上可用)

1. 从服务器clone代码

git clone xiaowang@192.168.2.06:/proj/teststo

2. 检出开发要基于的远端分支到本地

2.1 查看所有分支(含local端、remote端):
git branch -a 
2.2 创建并检出同名本地分支:

** eg. 检出远端的test_t1到本地,并命名为同名本地分支test_t1 **
git checkout -t origin/test_t1

*** 或者:eg. 检出远端的test_t1到本地名为xx_tt1本地分支 ***
git checkout -b xx_tt1 origin/test_t1

3. 修改代码

4. 添加提交内容,并填写提交说明

4.1 查看该路径下的所有修改:
	git status .
4.2 添加修改的指定文件file1和file_n
	git add file1 file_n
或者将当前路径下的所有修改都add上
	git add .
4.3 添加提交说明(建议最佳方式)
	git commit -s

建议commit的格式(三部分)
如:

 【FD协议】: 修改xx
 (空行)
  修改了什么;为什么修改;如何验证;说清楚一些东西,以便后续查看;
 (空行)
  signed by:“xiaowang@qq.com” (本行是commit 跟了-s参数自动生成的)

重要提示
追加提交: git commit --amend要常用
每次修改一个功能,不是一蹴而就的,只要没有git push,这个提交就是可以再次进行修改的, 如下示意amend何时使用:
在这里插入图片描述

5. 推送到服务器

若本地分支名和想提交到的分支是名字相同的,直接push即可:
git push
或者:git push origin HEAD
若名字不同(以想推送到远端分支test_t1为例):
git push origin HEAD:test_t1

6. 附:其他常用指令

6.1 配置用户名、邮箱(commit -s要使用的提交签名):

git --config–global user.email “xiaowang@qq.com”
git --config–global user.name “xiaowang”

git config --global user.email “xiaowang@qq.com”
git config --global user.name “xiaowang”

6.2 免密码输入:

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub xiaowang@192.168.2.06
ssh 192.168.2.06

6.3 统计总的历史提交的commit总数:

git rev-list --all --count

6.4 删除分支:

eg. 删除xxx分支: git branch -D xxx

6.5 查看提交记录

可以带各种参数
git log
git log --online

git show xxx_hash_id

6.6 查看差异

git diff filename_xx
git diff filename_xx hash_id1 hash_idx

6.7 制作补丁、打补丁

git format-patch -nx (x表示制作git log能看到的近来n各提交, 针对的是当前local分支的最后一个commit,补丁名字分别以0001~ x开头)
git format-patch xxhash_id -nx (x表示制作git log能看到的从xxhash_id往前的n个提交, 针对的是当前local分支的最后一个commit,补丁名字分别以0001~ x开头)

git am xxx.patch

6.8 创建远端分支
6.8.1 先创建一个本地分支

(本地分支和远端分支同名为例,当然可以不同)

git checkout -b test_t3

(仅跟本地分支名,则新的分支,是基于checkout前使用的本地分支所指向的远端分支,来创建的本地分支的)

6.8.2 将这个本地分支推送到远端(创建新分支,同名的新的远端分支)
git push origin test_t3:test_t3

使用git branch -a即可看到远端已包含该新分支

6.9 忽略不在版本控制中的文件

使用.gitignore
注意只能忽略没有被track的文件,如果某个文件已经是被纳入版本管理的,修改.gitignore是忽略不掉该文件的。
自己创建要给.gitignore文件:按简单的规则填写过滤哪些,,然后通过下面的指令生效:
git config --global core.excludesFile .gitignore

其他还有很多

如标准的提交,一般都使用git merge相关的流程。只是我感觉比较麻烦。
在这里插入图片描述

不定时根据使用情况,更新本文!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值