git入门基础
git基礎(chǔ)
參考:
官網(wǎng)git基礎(chǔ)
git 文件的生命周期
文件的生命周期圖:
git中的文件可以分為4個(gè)階段.
Untracked : 這是目錄中沒(méi)有被跟蹤的文件,即不在git項(xiàng)目中,使用 git commit 等命令對(duì)文件進(jìn)行提交時(shí)不會(huì)提交這樣的文件。只有使用 git add file_name 將文件添加到git 工程中,該文件才會(huì)得到分享,轉(zhuǎn)換到Staged狀態(tài)。除了這個(gè)狀態(tài),其他3個(gè)狀態(tài)指的都是被跟蹤的文件。
Unmodified:git工程中沒(méi)有經(jīng)過(guò)改動(dòng)的文件,即up-to-date的文件,處于當(dāng)前狀態(tài)的文件一旦被改動(dòng),則將會(huì)變文 Modified 狀態(tài)。使用 git remove 指令可以將該狀態(tài)下的文件變成Untraked 狀態(tài)。
Modified:被改動(dòng)過(guò)的文件待添加到 Staged 中的文件。
Staged : 等待更新到下一個(gè)生命周期的文件,commit 命令將會(huì)將處于該狀態(tài)的文件進(jìn)行提交,確認(rèn)更改,這樣一來(lái)文件又重新回到未修改狀態(tài),Unmodified。
git環(huán)境配置:
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com $ git config --global core.editor emacs $ git config --listgit 的基本命令
轉(zhuǎn)到需要初始化的目錄下,運(yùn)行下面的命令,初始化一個(gè)已經(jīng)存在的目錄為git目錄.
$ git init從github上克隆一個(gè)工程目錄,下面兩條指令中的一個(gè),區(qū)別在于是否另起目錄名
$ git clone /https://github.com/libgit2/libgit2 $ git clone /https://github.com/libgit2/libgit2 NewDirectoryName獲取文件狀態(tài) ,第二條指令表示狀態(tài)的縮寫(xiě)版
$ git status $ git status -s跟蹤新的文件,文件狀態(tài)從 untracked 變成 staged。
$ git add YourNewFileName在目錄下添加.gitignore文件,可以設(shè)置自動(dòng)忽略的文件GitHub的ignore文件示例
查看已經(jīng)被修改但沒(méi)有Staged的文件
$ git diff查看staged中即將被commit的文件有什么不同
$ git diff --staged查看你目前已經(jīng)Staged的所有文件
$ git diff --cached提交修改,即提交Staged狀態(tài)下的文件
_其第一條指令會(huì)在terminal打開(kāi)默認(rèn)的編輯器,讓你寫(xiě)入相關(guān)信心,可以使用:git config --global core.editor 命令設(shè)置編輯器
刪除文件
>從目錄刪除 $ rm PROJECT.md >從stage刪除 $ git rm PROJECT.md >不再跟蹤文件 $ git rm --cached READMEMoving Files
$ git mv fileFrom fileTo查看日志 $ git log
撤銷(xiāo)指令
撤銷(xiāo)上一次commit操作 $ git commit --amend 將sraged中的文件撤回(unstaging a staged file) $ git reset HEAD CONTRIBUTING.md 撤銷(xiāo)你所做的修改(discard the changes you've made) $ git checkout -- CONTRIBUTING.md遠(yuǎn)程服務(wù)器
克隆一個(gè)遠(yuǎn)程項(xiàng)目 $ git clone https://github.com/schacon/ticgit 顯示你的遠(yuǎn)程項(xiàng)目(Showing Your Remotes) $ git remote -v 添加遠(yuǎn)程工程(Adding Remote Repositories) 命令句式:git remote add <shortname> <url> $ git remote add pb https://github.com/paulboone/ticgit Fetching and Pulling Your Remotes $ git fetch [remote-name] $ git push [remote-name] [branch-name] Inspecting a Remote $ git remote show [remote-name] $ git remote show origin Removing and Renaming Remotes $ git remote rename pb paul Removing (git remote remove or git remote rm) $ git remote remove paulTagging
list your Tags $ git tagv0.1v1.3 search by pattern $ git tag -l "v1.8.5*" Create Tags and Annotated Tags $ git tag -a v1.4 -m "my version 1.4" ? $ git show v1.4Lighweight Tags,輕量標(biāo)簽只存儲(chǔ)校驗(yàn)和
$ git tag v1.4-lw $ git tag為以前提交的版本設(shè)置標(biāo)簽,Tagging Later
首先使用git log 查看每個(gè)版本的校驗(yàn)和,然后使用git tag根據(jù)校驗(yàn)和設(shè)置標(biāo)簽,例子如下所示:
分享標(biāo)簽,默認(rèn)情況下,git push指令不會(huì)將標(biāo)簽上傳到遠(yuǎn)程服務(wù)器上。這個(gè)操作需要自己顯式的完成:git push origin [tagname]. 第二條指令式push所有標(biāo)簽。
$ git push origin v1.5 $ git push origin --tags移除標(biāo)簽,在git中不能真正的刪除標(biāo)簽。只能添加一個(gè)新的分支。(git checkout -b [branchname] [tagname]: )
$ git checkout -b version2 v2.0.0 Switched to a new branch 'version2'Git Aliases
git中可以為變量名或者項(xiàng)目取縮寫(xiě)名,這個(gè)可以參考官網(wǎng)。
Github
https://help.github.com/articles/adding-a-remote/
轉(zhuǎn)載于:https://www.cnblogs.com/fanling999/p/6692948.html
總結(jié)
- 上一篇: cad导出pdf_CAD如何批量导出PD
- 下一篇: excel vba导入html表格,网页