Git代码管理工具常见命令

一、创建Git版本库与提交文件

(1)为了方便Git管理,在使用Git进行代码提交与修改前,先添加个人用户名与email:
				$ git config --global user.name "Andy";
				$ git config --global user.email "Andy@email.com";
		
(2)添加完用户名与email后,查看用户名与邮箱信息命令如下:
				$ git config user.name ;
				$ git config user.email  ;
				
(3)创建Git代码仓库文件夹,并进入仓库文件夹
				//我的文件夹如下
				$ cd E:/git/gitRepository
				
(4)在仓库文件夹下创建git的管理文件
				$ git init
				
(5)添加文件管理,建立新文件
			  ① 查看当前仓库文件夹下有哪些非隐藏文件
			  			$ ls
			  	  但是.git管理文件是被隐藏的文件,所以我们想要查看当前文件夹下所有文件,需执行以下命令
			  	  		$ ls -a
			  ② 在仓库文件夹下创建一个demo.java文件
			  			$  touch demo.java		// 执行完后可以执行 ls -a 查看是否创建成功 
			  ③ 创建完成后查看当前文件状态
			  			$ git status
			  ④ 将创建的文件添加进版本库
			 	   查看文件状态是发现demo.java 文件属于nothing added to commit but untracked files present (use "git add" to track) 状态时,需将
			 	   demo.java文件添加进版本管理库。
			 	   
			 	   添加单个文件进版本管理库
			 	   		$ git add 
				   添加全部未被添加文件	
				   		$ git add .
			 ⑤ 添加完文件后,即可以对该文件进行提交了
			 			$ git commit
			 	 可以使用-m 给本次提交信息加上备注 (建议加备注)
			 	 		$ git commit -m "add by Andy demo.java"	
			 ⑥ Git流程图	 		

在这里插入图片描述

二、git版本库记录查看与修改

(1)创建文件demo.java
查看创建的文件 $ ls
在创建文件中添加点内容,博主添加了:test
(2) 查看文件修改状态

        ① 创建文件 
              $ touch  demo.py
	  ②  查看修改但未提交信息 $ git status	
			    	On branch master
				   Changes to be committed:
				   (use "git restore --staged <file>..." to unstage)
				         new file:   demo.py
				         
		     	 **** 注意:当版本库中存在垃圾文件时,可以使用命令清除:$ git clean -f
       ③ 将创建文件添加进版本管理库分支
				$ git add demo.py
	   ④ 提交添加文件demo.py
	   			$ git commit -m "add by Andy"
	   ⑤ 查看Git版本库日志
	            $ git log
	            通过日志可以查看版本库的代码提交记录。
	            *****注意 进入日志查看后,可按 “Q键” 退出日志查看,返回到命令行输入界面。
	   ⑥   假如我们修改创建的demo.py文件,在文件中加入内容 test=1; 
	   			查看文件状态 $ git status
						On branch master
						Changes not staged for commit:
						  (use "git add <file>..." to update what will be committed)
						  (use "git restore <file>..." to discard changes in working directory)
						        modified:   demo.py
						        	
			  文件修改后在此输入 $ git add demo.py
			  再次查看文件状态 $ git status
							On branch master
							Changes to be committed:
							  (use "git restore --staged <file>..." to unstage)
							        modified:   demo.py
							        
			则可看到我们修改的文件。
           再次输入命令 $ git commit -m "modify Andy"  将修改的文件提交。
           ⑦  查看demo.py文件修改内容  $ git diff 
                   再次修改demo.py文件内容,增加 test2 = 2;
                   执行 $ git diff  会出现如下信息
					         diff --git a/demo.py b/demo.py
							index ea12b68..f01cc26 100644
								--- a/demo.py
								+++ b/a.py
								@@ -1 +1,3 @@
								-test=1;
								\ No newline at end of file
								+test=1;
								+
								+test2 = 2;
								\ No newline at end of file
								
         ⑧  修改后再次提交 $ git add demo.py
			  提交后查看修改记录 $ git diff --cached
			         diff --git a/demo.py b/demo.py
					index ea12b68..f01cc26 100644
					--- a/demo.py
					+++ b/demo.py
					@@ -1 +1,3 @@
					-test=1;
					\ No newline at end of file
					+test=1;
					+
					+test2 = 2;
					\ No newline at end of file
		⑨  查看 unstaged ($ git diff);查看staged($ git diff  --cached) ;查看staged & unstaged ($ git diff head) 		
		     以下是三种情况下的代码对比:
		     # 对比三种不同 diff 形式
					$ git diff head       # staged & unstaged
					@@ -1 +1,3 @@
					-a = 1  # 已 staged
					+a = 2  # 已 staged
					+b = 1  # 已 staged
					+c = b  # 还没 add 去 stage (unstaged)
			
					$ git diff        # unstaged
					@@ -1,2 +1,3 @@
					 a = 2  # 注: 前面没有 +
					 b = 1  # 注: 前面没有 +
					+c = b  # 还没 add 去 stage (unstaged)
					
					$ git diff --cached     # staged
					@@ -1 +1,2 @@
					-a = 1  # 已 staged
					+a = 2  # 已 staged
					+b = 1  # 已 staged	

三、git版本库记录代码还原(reset)

       (1)  reset回到add之前
       			  将add 到 stage 的文件还原回到add之前
       			  $ git reset demo.py
       			        $ git reset demo.py
						Unstaged changes after reset:
						M       demo.py
          
               查看文件状态$ git status -s 
                      M a.py
       (2)   修改已经commit提交的版本
       		    # "--no-edit": 不编辑, 直接合并到上一个 commit
       			     $ git commit --amend --no-edit 
       		    # "--oneline": 每个 commit 内容显示在一行	     
       			     $ git log --oneline   
          输出结果:#合并到change5 上
                111fcba (dev2) change5

  			   每个 commit 都有自己的 id 数字号, HEAD 是一个指针, 指引当前的状态是在哪个 commit. 最近的一次 commit 在最右边, 
   		 我们如果要回到过去, 就是让 HEAD 回到过去并 reset 此时的 HEAD 到过去的位置。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

		回到版本之前,通过 -- hard ID,ID为提交版本对应的ID
					b852351 chaged4
					e19a442 change3
					16ba841 change2
					6825872 change1
		如:回到版本change3
			$ git reset --hard e19a442 

	(3)rest是还原整个版本库,还原单个文件使用:checkout
			   例如:单个文件回到版本16ba841 change2之前 
			    $ git checkout 16ba841 -- demo.py

四、分支管理(branch)

    (1)查看当前所有分支
    	 $ git branch
    		* (HEAD detached at e19a442)
				  dev
				  dev2
				  master
		(2) 建立分支
			$ git branch dev3
      (3)切换分支
      		$ git checkout  dev3
      	     	Switched to branch 'dev3'    # 提示已经切换成功
      (4)合并分支
      		将dev3 分支中修改的文件合并到主分支master中
      		    先切换回主分支
      		        $ git checkout master
      		   在master主分支中合并
      		   		$ git merge dev3
      (5)冲突合并
      		当两个人同时对dev3 与 master分支进行了修改,在合并的时候就会出现冲突。
      		        我们在对master进行合并时会有如下冲突提示:
						Auto-merging demo.py
						CONFLICT (content): Merge conflict in demo.py
						Automatic merge failed; fix conflicts and then commit the result.
				
					此时我们打开文件可以查看到冲突标记:
						<<<<<<< HEAD
						# add by master
						=======
						# add by  dev3
						>>>>>>> dev
					此时则需要我们手动合并,再次提交	

在这里插入图片描述

		(6)临时修改暂存(stash)		
				 将手头上的事情临时暂存起来
				    $ git stash
				 恢复暂存   		
				    $ git stash pop

五、Git 常见命令

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值