git常用命令

1、git init
   在当前目录创建git仓库
2、git add *
   把当前所有修改的文件提交到暂存库,文件变成“已追踪”状态:Changes to be committed
3、git add [file Name]
   把指定文件提交到暂存库
4、git status 
   查看当前git仓库所有文件的状态:modified、deleted、inserted
5、git diff
   查看当前git仓库所有文件的具体修改内容
6、git diff [file Name]
   查看当前git仓库指定文件的具体修改内容
7、git checkout [file Name]
   对未追踪的文件进行撤回
8、git reset head [file Name]
   把已经提交到暂存区的指定文件状态变成“未追踪”状态:Changes not staged for commit,之后可以进行撤回操作,执行命令7
9、git log
   查看当前git仓库所执行过的所有命令
10、git logref
   查看当前git仓库所执行过的所有历史命令
11、git reset --hard [commit id]
   指定一个历史版本进行回退,[commit id]可有git log获得,是一段hash十六进制字符串
12、git reset --hard HEAD^
    把git仓库的文件集体回退到上一个版本
13、git commit -m "版本说明"
    提交暂存区文件的到git仓库,生成一个版本,git log可见
14、本地克隆服务器远程库
     git clone 用户名@服务器IP:目标远程库仓库路径;eg:git clone git@39.***.***.***:/repository/gitTest.git
15、本地提交服务器远程库(先本地commit在提交到远程库)
     git push -u origin master

   16、提交本地test分支作为远程的master分支 ,远程的github就会自动创建一个test分支
           git push origin test:master

   17、提交本地test分支作为远程的test分支
          git push origin test:test

   17、获取远程分支信息
         git branch -r

   18、获取本地当前分支信息
         git branch / git branch -vv


   19、切换当前分支
         git checkout {分支名}

    20、创建分支
         git branch {分支名}

    21、删除本地分支
         git branch -d {分支名}

    22、本地当前分支合并目标分支
         git merge {目标分支}

Eg:
1、git拉取远程项目到本地

   1.1 git clone http://gitlab.XXX.com/XXX/XXX.git  //克隆远程仓库到本地


2、git提交代码到新分支
-从master或其他分支拉了一份代码,做了一些修改,但是不想提交到该分支,想新建一个新分支test保存代码。

  2.1 git add . //添加本地需要提交的代码
  2.2 git commit -m 'add my code to test' //提交本地代码
  2.3 git push origin master:test //如果有test分支则把代码提交到test分支,如果没有则创建test分支并将代码上传到test分支

3、git拉取分支到本地
 -新建一个空文件夹

3.1 git init //初始化
  3.2 git remote origin http://gitlab.XXX.com/XXX/XXX.git //与远程仓库建立连接
  3.3 git fetch origin remote_test //把远程分支拉到本地,“remote_test”为远程分支名
  3.4 git checkout -b local_test origin/remote_test //local_test(本地分支名称);remote_test(远程分支名称)
  3.5 git pull origin remote_test //将远程分支拉取到本地;remote_test(远程分支名称)

Import : 

File Status :  
              Untracked files 未追踪,即未执行命令2或者命令3
			  Changes to be committed 已追踪,未提交,即未执行命令13
			  Changes not staged for commit 把已经提交到的暂存区的文件撤回到未追踪状态
General Walking Process:
		       1、命令1
			   2、命令2或者命令3
			   3、命令13
                    

  

原文地址:https://www.cnblogs.com/hzb462606/p/11150394.html