用戶信息
當安裝完 Git 應該做的第一件事就是設置你的用戶名稱與郵件地址。 這樣做很重要,因為每一個 Git 的提交都會使用這些信息,并且它會寫入到你的每一次提交中,不可更改:
$ git config –global user.name “John Doe”
$ git config –global user.email johndoe@example.com
獲取命令幫助
$ git help verb
$ git verb help
$ man git-verb
檢查配置信息
如果想要檢查你的配置,可以使用 git config –list 命令來列出所有 Git 當時能找到的配置。
在現有目錄中初始化倉庫
如果你打算使用 Git 來對現有的項目進行管理,你只需要進入該項目目錄(本地路徑)并輸入:
$ git init
如果你是在一個已經存在文件的文件夾(而不是空文件夾)中初始化 Git 倉庫來進行版本控制的話,你應該開始跟蹤這些文件并提交。 你可通過 git add 命令來實現對指定文件的跟蹤,然后執行 git commit 提交:
$ git add ***
$ **git add LICENSE
$ git commit -m ‘initial project version’
下載代碼
如果你想下載托管在git上的代碼,只需要知道代碼托管路徑,然后輸入:
$ git clone https://github.com/libgit2/libgit2
如果你想重命名下載到本地的目錄那么輸入:
$ git clone https://github.com/libgit2/libgit2 foldername
這將執行與上一個命令相同的操作,不過在本地創建的倉庫名字變為 foldername。
記錄每次更新
檢查當前文件狀態
要查看哪些文件處于什么狀態,可以用 git status 命令。 如果在克隆倉庫后立即使用此命令,會看到類似這樣的輸出:
$ git status
現在,讓我們在項目下創建一個新的 README 文件。 如果之前并不存在這個文件,使用 git status 命令,你將看到一個新的未跟蹤文件:
$ echo ‘Readme文件內容’ > README
$ git status
使用這個命令你會看到哪些文件沒有被版本庫記錄了。
跟蹤新文件
把剛剛創建的README放入版本庫中跟蹤,只需要: $ git add README
$ git status
狀態簡覽
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
新添加的未跟蹤文件前面有 ?? 標記,新添加到暫存區中的文件前面有 A 標記,修改過的文件前面有 M 標記。 你可能注意到了 M 有兩個可以出現的位置,出現在右邊的 M 表示該文件被修改了但是還沒放入暫存區,出現在靠左邊的 M 表示該文件被修改了并放入了暫存區。 例如,上面的狀態報告顯示: README 文件在工作區被修改了但是還沒有將修改后的文件放入暫存區,lib/simplegit.rb 文件被修改了并將修改后的文件放入了暫存區。 而 Rakefile 在工作區被修改并提交到暫存區后又在工作區中被修改了,所以在暫存區和工作區都有該文件被修改了的記錄。
忽略文件
一般我們總會有些文件無需納入 Git 的管理,也不希望它們總出現在未跟蹤文件列表。 通常都是些自動生成的文件,比如日志文件,或者編譯過程中創建的臨時文件等。 在這種情況下,我們可以創建一個名為 .gitignore 的文件,列出要忽略的文件模式。 來看一個實際的例子:
$ cat .gitignore
這個命令表示讀取.gitignore文件下的內容,并輸出到控制臺上
查看已暫存和未暫存的修改
要查看尚未暫存的文件更新了哪些部分,不加參數直接輸入 git diff 若要查看已暫存的將要添加到下次提交里的內容,可以用 git diff –cached 命令
提交更新
提交更新之前,git status看下所有修改是否都被記錄了,然后
$ git commit
可能會進入vim模式,這時候 ctrl+c 輸入 :wq 保存文件并退出,也可以
$ git commit -m “Story 182: Fix benchmarks for speed”
跳過使用暫存區域
正常的提交流程是:
* git status 查看狀態
* git add . 放入暫存區域
* git commit -m “提交記錄”
來提交,如果你覺得這樣太麻煩,可以-a來跳過暫存區域: $ git commit -a -m ‘added new benchmarks’
移除文件
移除文件分兩種,是否在當前目錄保留這個文件,需要保留則:
$ git rm –cached filename 不需要保留則:
$ git rm filename
查看提交歷史
$ git log
即可。至于更高端的用法,查看文檔
撤銷操作
類似于svn的revert操作:
$ git checkout – filename.md
$ git status
遠程倉庫的使用
-
新代碼publish到新的倉庫 如果你想把你的沒有被git托管的代碼發布到github上,那么按照下面的操作:
echo “readme文件內容” » README.md
git init
git add README.md
git commit -m “first commit”
git remote add origin https://github.com/cuicheng11165/1758.git
git push -u origin master -
現有倉庫發布到遠程倉庫 如果git已經在本地托管了,那么只需要:
git remote add origin https://github.com/cuicheng11165/1758.git
git push -u origin master
拉取遠程的改動分為pull 和fetch,pull相當于fetch+merge
* fetch的使用:
git fetch origin master
git merge
* pull的使用:
git pull origin master
文章列表