Command line instructions

Git global setup
git config --global user.name "周先锋(金服银行科技中心)"
git config --global user.email "zhouxianfeng776@pingan.com.cn"


git config –list
 

ssh-keygen -t rsa -C " xiejun050@126.com" -b 4096

 

#测试和服务器的连通性
ssh -T git@"gitlab.pab.com.cn"

查看远程分支

git branch -r

创建本地分支

git branch  RELEASE_19.01.17

切换到分支

git checkout  RELEASE_19.01.17

本地分支和远程分支关联

git branch --set-upstream-to=origin/RELEASE_19.01.17

拉去代码

git pull

Create a new repository   创建新文件
git clone git@git-ma.paic.com.cn:ZHOUXIANFENG776/demo-parent.git
cd demo-parent
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder or Git repository   对已存在的目录
cd existing_folder
git init
git remote add origin git@git-ma.paic.com.cn:ZHOUXIANFENG776/demo-parent.git
git add .
git commit
git push -u origin master

 

对于add.的想要不缓存

git rm --cached 

git rm --cached

最后少用 git reset --Hard使用之前必须commit (血泪一般的教训,如果文件少还可以通过下面恢复,如果文件多,你就惨了)

如果不慎使用:

1. 执行 git fsck --lost-found;

2. 在.git/lost-found目录下找找看有没有你丢失的文件;

3.有的话复制出来,如果是文本,直接改成正确扩展名,你就笑了;

4. 没有的话,就再去Google吧;

 对于已有的库,先从主分支上啦去代码,合并,再提交

1.git pull origin master --allow-unrelated-histories

2.解决冲突

3.提交代码 git push origin master

 

当我想从远程仓库里拉取一条本地不存在的分支时:

git checkout -b 本地分支名 origin/远程分支名

这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。

 

 

 

1.初始化本地仓库

git init

2.查看文件状态

   git status 

3.提交文件

git add . 

git commit -m "first commit"  -m添加注释

4.git diff readme.txt 如下:

 

5. git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,增加内容为333333.上一次是添加内容222222,第一次默认是 111111.如果嫌上面显示的信息太多的话,我们可以使用命令 git log –pretty=oneline 演示如下:

  

6.版本回退  git reset  --hard     git reset  --hard HEAD^

那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推

那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset  --hard HEAD~100 即可

 

如果想回退到上一个版本的命令如下操作:

7.查看回退操作

git reset  --hard 版本号 ,但是现在的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增加3333内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog  演示如下:

 

一:撤销修改:

  比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下:

  在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:

  第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。

  第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset  --hard HEAD^

  但是现在我不想使用上面的2种方法,我想直接想使用撤销命令该如何操作呢?首先在做撤销之前,我们可以先用 git status 查看下当前的状态。如下所示:

  可以发现,Git会告诉你,git checkout  -- file 可以丢弃工作区的修改,如下命令:

  git checkout  --  readme.txt,如下所示:

  命令 git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:

  1. readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
  2. 另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

  对于第二种情况,我想我们继续做demo来看下,假如现在我对readme.txt添加一行 内容为6666666666666,我git add 增加到暂存区后,接着添加内容7777777,我想通过撤销命令让其回到暂存区后的状态。如下所示:

  

  注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。

  二:删除文件。

  假如我现在版本库testgit目录添加一个文件b.txt,然后提交。如下:

  

  如上:一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉,现在目录是这样的,

 

  只要没有commit之前,如果我想在版本库中恢复此文件如何操作呢?

  可以使用如下命令 git checkout  -- b.txt,如下所示:

  再来看看我们testgit目录,添加了3个文件了。如下所示:

git ssh配置

#设置全局环境变量
git config --global user.name "zhouxianfeng776"

git config --global user.email "zhou4587211@163.com"

#查看全局环境变量
git config --list
#去掉查看全局环境变量
git config --global --unset user.name
git config --global --unset https.proxy

#测试和服务器的连通性
ssh -T git@"git-ma.paic.com.cn"

https://blog.csdn.net/gdutxiaoxu/article/details/53573399

 

1.git撤销操作

1.1git追加提交操作

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交:

$ git commit --amend

例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。

1.2git取消暂存文件

 在 “Changes to be committed” 文字正下方,提示使用 git reset HEAD <file>... 来取消暂存。 所以,我们可以这样来取消暂存 CONTRIBUTING.md 文件:

   git reset HEAD CONTRIBUTING.md

 Unstaged changes after reset:

M	CONTRIBUTING.md

1.3取消对文件的修改

Changes not staged for commit:

  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md

它非常清楚地告诉了你如何撤消之前所做的修改。 让我们来按照提示执行:

git checkout -- CONTRIBUTING.md
git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README

可以看到那些修改已经被撤消了。

需要知道 git checkout -- [file] 是一个危险的命令,这很重要。 你对那个文件做的任何修改都会消失 - 你只是拷贝了另一个文件来覆盖它。 除非你确实清楚不想要那个文件了,否则不要使用这个命令。

2.远程仓库的使用

2.1查看远程仓库

2.2添加远程仓库

$ git remote
origin

你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)

2.2添加远程仓库

       $ git remote

origin
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)
pb	https://github.com/paulboone/ticgit (fetch)
pb	https://github.com/paulboone/ticgit (push) 

2.3从远程仓库抓取和拉取