1. 程式人生 > >git 命令大全

git 命令大全

保持 pri paths 快速 .com app fixed name 取數據

一、安裝git
1、下載
2、配置
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
二、創建版本庫
1、找一個目錄創建一個空目錄
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
2、通過git init 命令把這個目錄變成git可以管理的倉庫
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
可以通過ls-ah命令看見有哪些文件
3、創建一個文件readme.txt,編寫內容
我們是好程序員2班的大神
4、用命令git add告訴Git,把文件添加到倉庫:
$ git add readme.txt
5、用命令git commit告訴Git,把文件提交到倉庫:
$git commit -m "我們只是初步創建了一下而已“
6、commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
三、版本回退
1、修改reademe.txt
我們是好程序員2班的大神
這是真的
2、運行git status命令查看結果
$ git status

3、運行git diff查看修改的內容
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
4、git add readme.txt
5.git status
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: readme.txt

6.$ git commit -m "add distributed"
[master ea34578] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
7.git status命令看看倉庫的當前狀態
$ git status
# On branch master
nothing to commit (working directory clean)
8.再次修改文件
Git is a distributed version control system.
Git is free software distributed under the GPL.
9.提交
$ git add readme.txt
$ git commit -m "append GPL"
[master 3628164] append GPL
1 file changed, 1 insertion(+), 1 deletion(-)
10.通過git log查看歷史版本
或者git log --pretty=oneline
$ git log --pretty=oneline
3628164fb26d48395383f8f31179f24e0882e1e0 append GPL
ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file
11.回退到上一個版本
git reset --hard HEAD^
$ git reset --hard HEAD^
HEAD is now at ea34578 add distributed
12.查看版本庫狀態
git log
最新的那個版本append GPL已經看不到了!
$ git reset --hard 3628164
HEAD is now at 3628164 append GPL
要上面的命令行窗口還沒有被關掉,你就可以順著往上找啊找啊,找到那個append GPL的commit id是3628164...,於是就可以指定回到未來的某個版本
$ git reset --hard 3628164
HEAD is now at 3628164 append GPL

Git提供了一個命令git reflog用來記錄你的每一次命令:
$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file
四、添加遠程倉庫
1、登陸GitHub,然後,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫:

2、在Repository name填入learngit,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫:
git remote add origin [email protected]

/* */:michaelliao/learngit.git
(遠程庫的名字就是origin,這是Git默認的叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫。)
3、本地庫的所有內容推送到遠程庫上
$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To [email protected]
/* */:michaelliao/learngit.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
4、從現在起,只要本地作了提交,就可以通過命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,現在,你就擁有了真正的分布式版本庫!


五、從遠程庫中獲取數據
1、登陸GitHub,創建一個新的倉庫,名字叫gitskills
2.我們勾選Initialize this repository with a README,這樣GitHub會自動為我們創建一個README.md文件。創建完畢後,可以看到README.md文件:
3.用命令git clone克隆一個本地庫:
$ git clone [email protected]
/* */:michaelliao/gitskills.git
Cloning into ‘gitskills‘...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

$ cd gitskills
$ ls
README.md

六、創建與合並分支
查看分支:git branch

創建分支:git branch <name>

切換分支:git checkout <name>

創建+切換分支:git checkout -b <name>

合並某分支到當前分支:git merge <name>

刪除分支:git branch -d <name>
七、解決沖突
1、準備新的feature1分支,繼續我們的新分支開發:
$ git checkout -b feature1
修改readme.txt最後一行,改為:
Creating a new branch is quick AND simple.
2、在feature1分支上提交:
$ git add readme.txt
$ git commit -m "AND simple"
[feature1 75a857c] AND simple
1 file changed, 1 insertion(+), 1 deletion(-)
3、 切換到master分支:
$ git checkout master
Switched to branch ‘master‘
Your branch is ahead of ‘origin/master‘ by 1 commit.
4、在master分支上把readme.txt文件的最後一行改為
Creating a new branch is quick & simple.
5、提交:
$ git add readme.txt
$ git commit -m "& simple"
[master 400b400] & simple
1 file changed, 1 insertion(+), 1 deletion(-)
6、這種情況下,Git無法執行“快速合並”,只能試圖把各自的修改合並起來,但這種合並就可能會有沖突,我們試試看:
$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
果然沖突了!Git告訴我們,readme.txt文件存在沖突,必須手動解決沖突後再提交。git status也可以告訴我們沖突的文件:
$ git status
# On branch master
# Your branch is ahead of ‘origin/master‘ by 2 commits.
#
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
7、我們可以直接查看readme.txt的內容:
Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,我們修改如下後保存:
Creating a new branch is quick and simple.
8、再提交:
$ git add readme.txt
$ git commit -m "conflict fixed"
[master 59bc1cb] conflict fixed
9、用帶參數的git log也可以看到分支的合並情況:
$ git log --graph --pretty=oneline --abbrev-commit
* 59bc1cb conflict fixed
|\
| * 75a857c AND simple
* | 400b400 & simple
|/
* fec145a branch test
...
10、最後,刪除feature1分支:
$ git branch -d feature1
Deleted branch feature1 (was 75a857c).
八、多人協作
因此,多人協作的工作模式通常是這樣:
首先,可以試圖用git push origin branch-name推送自己的修改;
如果推送失敗,則因為遠程分支比你的本地更新,需要先用git pull試圖合並;
如果合並有沖突,則解決沖突,並在本地提交;
沒有沖突或者解決掉沖突後,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,則說明本地分支和遠程分支的鏈接關系沒有創建,用命令git branch --set-upstream branch-name origin/branch-name。
這就是多人協作的工作模式,一旦熟悉了,就非常簡單。

小結

查看遠程庫信息,使用git remote -v;

本地新建的分支如果不推送到遠程,對其他人就是不可見的;

從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠程的新提交;

在本地創建和遠程分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱最好一致;

建立本地分支和遠程分支的關聯,使用git branch --set-upstream branch-name origin/branch-name;

從遠程抓取分支,使用git pull,如果有沖突,要先處理沖突。




git 命令大全

相關推薦

git 命令大全

保持 pri paths 快速 .com app fixed name 取數據 一、安裝git1、下載2、配置$ git config --global user.name "Your Name"$ git config --global user.email "[emai

Git命令大全

大全 span init 變更 初始化 sta tool tip meta 初始化本地git倉庫(創建新倉庫) git init 配置用戶名 git config --

git 命令大全(完整版)

拉取 str 修改版本 xxx 用戶 command 克隆 單個 sage Git 常用命令詳解 Git 是一個很強大的分布式版本控制系統。它不但適用於管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優勢。 1.Git文件操作 $ git help [command

Gitlab的使用(內含Git命令大全

gitlab使用流程 標籤(空格分隔): gitlab 1、前言 使用svn的同學抓(dan)狂(sui)的問題? 沒有網時候想commit怎麼辦?svn伺服器宕機一天,技術團隊抓狂,抱怨運維不給力 非核心成員想貢獻自己的力量卻無論為力 每每想看一下svn上

#Git命令大全總覽

Git常用操作命令: Git 是一個很強大的分散式版本控制系統。它不但適用於管理大型開源軟體的原始碼,管理私人的文件和原始碼也有很多優勢。 1) 遠端倉庫相關命令 檢出倉庫:$ git clone git://github.com/jquery/jquery.git 檢視遠端倉

常用GIT命令大全

配置使用者資訊: 用如下命令配置使用者名稱和使用者郵箱,只用配置一次。 git config --global user.name "" git config --global user.eamil "" 檢視配置的資訊: git  congfig --list 克

git命令大全(非常齊全)

$ git init  // 初始化一個Git倉庫 $ git status   // 檢視倉庫的狀態 $ git add .   // 將所有修改新增到暫存區 $ git add *  // Ant風格新增修改 $ git add *Controller   // 將以C

git命令大全(gogs)

$ git init  // 初始化一個Git倉庫$ git status   // 檢視倉庫的狀態$ git add .   // 將所有修改新增到暫存區$ git add *  // Ant風格新增修改$ git add *Controller   // 將以Contr

Git 常用命令大全

版本控制系統 分布 刪除指定文件 顯示 本地庫 手動 diff commit div Git 是一個很強大的分布式版本控制系統。它不但適用於管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優勢。 Git常用操作命令: 1) 遠程倉庫相關命令 檢出倉庫:$ git

Git 常用命令大全

gitignore -- 相關配置 object 相同 更改 友好 table file 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看當前狀態 git commit 提交 git branch -a 查看所有的分支

Git常用操作命令大全

Git常用操作命令大全: 1) 遠端倉庫相關命令 檢出倉庫:$ git clone git://github.com/jquery/jquery.git 檢視遠端倉庫:$ git remote -v 新增遠端倉庫:$ git remote add [name] [url] 刪除遠端倉庫:$ git

git基本用法命令大全

1.新建本地git倉庫,並將本地庫關聯遠端倉庫GitHub1.1.git拉取遠端分支並建立本地分支1.1.1 檢視遠端分支    git branch -r檢視所有遠端分支:1.1.2 拉取遠端分支並建立本地分支        方法一    git checkout -b 本

Git 教程命令大全

傳說是目前世界上最先進的分散式版本控制系統git 是一個開源的分散式版本控制系統,可以有效、高速地處理從很小到非常大的專案版本管理。 Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。 通過幾天git的學習,感覺清爽了很多,簡單的git

Git的常用命令大全

git init //初始化git git add ./filename //提交到版本庫放入暫存 git commit -m "備註" //提交到版本庫 git remote add origin http://github.com/youname/repo.git //關聯遠端倉庫 gi

Git常用命令大全

Git 是一個很強大的分散式版本控制系統。它不但適用於管理大型開源軟體的原始碼,管理私人的文件和原始碼也有很多優勢。 Git常用操作命令: 1) 遠端倉庫相關命令 檢出倉庫:$ git clone git://github.com/jquery/jquery.git

Git基本常用命令大全摘要自用

title sta 檢查 pan 總結 操作 它的 保存 在外 git help <command> # 顯示command的help git show # 顯示某次提交的內容 git show $id git co -- <file> # 拋棄

常用 Git 命令清單

stage 遠程倉庫 spa reset 一行 發生 per pan comm 下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下。 Workspace:工作區 Index / Stage:暫存區 Repository:倉庫區(或本地倉庫

git 命令

安裝 裏來 checkout 行合並 del 等等 table date -- 安裝git後我們需要配置一下,告訴git我們的基本信息等等..一般在用戶範圍內去配置 git ,也就是在 global 範圍。 global 全局設置 $ git config

cmd命令大全

services 遠程桌面 取消 com mob mmc mes 資源管理器 控制臺 cmd命令大全(第一部分)   winver---------檢查Windows版本   wmimgmt.msc----打開windows管理體系結構(WMI)

git命令總結

feature 不變 arc 所有 知識 說明 variable revert ping 基礎知識 這裏我就不廢話什麽是Git了,程序猿用的東西,不是程序猿估計也不會想用。我每天使用 Git ,但是很多命令記不住。一般來說,日常使用只要記住下圖6個命令,就可以了。但是熟練使