Git使用技巧-常用命令


一、git 创建仓库

创建远端仓库: git init – bare // 创建远端裸仓库;
远端仓库别名: origin
本地仓库: git clone …

demo

创建远程仓库
1.创建git账号和git用户组

    $ sudo adduser git  #添加git用户
     $ sudo passwd git   #添加git的密码
     $ sudo groupadd git #添加git用户组
     $ sudo usermod -G git git #添加git用户到git用户组

2.创建git仓库

// 创建仓库目录
 $ cd /srv     # srv目录下存放git的仓库
 $ mkdir nginx-docs.git # 创建nginx-docs.git目录
 $ cd nginx-docs.git
 // 初始化裸仓库
 $ git init --bare # bare选项指示该仓库为裸仓库
 // 修改仓库权限
 $ sudo chown -R git:git /srv/nginx-docs.git # 修改权限为git用户

3.禁止git用户登录shell,这样git通过sh服务登录会被拒绝(可选)
1.Git使用技巧-常用命令1-LMLPHP
4. 创建本地仓库
比如在我的windows电脑创建本地仓库文件夹 然后打开git bash shell,输入:
git clone git@47.106.79.26:/srv/nginx-docs.git

git clone user_name@remot_ipaddr:git仓库路径

二、本地仓库常用命令

git status //查看文件的状态
git add file_name  //标记文件
git rm -f 
git status
git log

在workspce 中创建新的文件是未被追踪的(untracked files)。
1. git add 用法
git add

    $ git add .  # 将所有修改添加到暂存区
    $ git add *.cpp   **# 将以.cpp结尾的文件的所有修改添加到暂存区
    $ git add hello*   # 将所有以Hello开头的文件的修改添加到暂存区,例如: helloWorld.txt,hello.h,helloGit.md ...
    $ git add hello?.*   # 将以hello开头后面只有一位的文件提交到暂存区 例如:hello1.txt,helloA.cpp 如果是helloGit.txt和hello.cxx是不会被添加的。**

2. 暂存区剔除文件
可以使用git rm -f 或者 git rm –cached 把文件从暂存区里移除,这个移除并不代码把文件从磁盘上删除了,只是说不被git管理了而已。

git rm -f file_name
git rm -cached file_name 

3. 代码提交
暂存区代码提交本地仓库

git commit 用法:

1.Git使用技巧-常用命令1-LMLPHP
示例:

    git commit -a -m “initial commit”, #把暂存区和当前已被跟踪的文件的所有的修改提交到仓库里,-m参数指定了此次提交的message内容
    git commit Makefile Logger.cpp –m “修改编译错误,添加了对log4cpp库的依赖“ # 提交Makefile和Logger.cpp的修改

4.查看提交记录
查看提交日志

git log

git log --stat

1.Git使用技巧-常用命令1-LMLPHP

提交详解

git commit

参数:
-a 添加的-a参数会把当前暂存区里所有的修改(包括删除操作)都提交,但是那些尚未添加到暂存区的内容是不会提交的

messge 格式:

   message的格式:
     <type>(<scope>): <subject>
     <BLANK LINE> 
     <body> 
     <BLANK LINE> 
     <footer>

Type指:
feat: 新特性
fix: 修改问题
refactor: 代码重构
docs: 文档修改
style: 代码格式修改, 注意不是 css 修改
test: 测试用例修改
chore: 其他修改, 比如构建流程, 依赖管理.

scope: commit 影响的范围,即影响的模块或者组件,比如: route, component, utils, build…
subject: commit 的概述, 建议符合 50/72 formatting
body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接,或者feature等等其余的信息.

git commit --amend

这也是我们经常用的命令,他会把此次提交追加到上一次的commit内容里。

三、 推送到远程分支

git push

git push命令用于将本地分支的更新,推送到远程主机。
格式

git push <远程主机名> <本地分支名>:<远程分支名>

1. git push origin master

git push origin master //命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

git push origin  // 命令表示,将当前分支推送到origin主机的对应分支。

如果当前分支只有一个追踪分支,那么主机名都可以省略。

  git push

2. git push origin :master

  git push origin :master   # 等同于 git push origin --delete master
   命令表示删除origin主机的master分支。

总结

此片文章主要是讲解常用的git 命令 及其案例

参考

文章参考与<零声教育>的C/C++linux服务期高级架构系统教程学习:

07-09 08:51