百度 icodehtml
/** * @file 公用函數 * @author v_koujianfeng */
1. 設置 sshkeynode
2. 在本機克隆linux
3. 設置關閉一些沒必要要的代碼提交規則git
4. git checkout -b devgithub
5. git checkout -b dev_kjf面試
6. git pull origin dev_kjfbash
7. git add .服務器
8. git commit -m 'first commit'app
9. git push origin HEAD:refs/for/dev_kjfssh
10. 去評審看,檢查不經過則重複 6-10 的步驟,沒錯誤了再相關人員打分
11. 合併代碼到相關分支: 在 dev 分支 執行 git merge dev_kjf ----是將 dev_kjf 的代碼 合併到 dev
git
世界上最好的版本管理工具,分佈式版本控制系統。
林納斯-託瓦斯,自由主義教皇(git、linux)
git 無論理空文件夾
對比於 SVN
mkdir XX 建立一個空目錄 XX 指目錄名
pwd 顯示當前目錄的路徑
cat xx 查看 xx 文件內容git rm xx 刪除 xx 文件 以後要 commit
git init 把當前的目錄變成能夠管理的 git 倉庫,生成隱藏的 .git 文件夾
git add xx 把 xx 文件添加到暫存區
git commit -m "xx" 提交文件 -m 後面的是註釋
git status 查看倉庫狀態
git log 查看歷史記錄
git reset --hard HEAD^ 往上回退一個版本
git reflog 查看歷史記錄的版本號 id
git checkout -- xx 把 xx 文件在工做區的修改所有撤銷
git remote add origin https://github.com/xxxxx/a.git 關聯一個遠程庫
git push -u origin master 把(第一次要用 -u,之後不用)當前 master 分支推送到遠程庫
git clone https://github.com/xxxxx 從遠程庫中克隆
git checkout -b dev 建立 dev 分支 並切換到 dev 分支上
git branch 查看當前全部的分支
git checkout master 切換回 master 分支
git merge dev 在當前分支合併 dev 分支
git branch -d dev 刪除 dev 分支
git branch xxx 建立分支 xxx
git remote 查看遠程庫信息
git remote -v 查看遠程庫的詳細信息
git pull origin master 將遠程庫的更新拉取到本地來
git push origin master git 會把 master 分支推送到遠程庫對應的分支上
git config --global user.name 'RyenToretto'
git config --global user.email '18273727925@qq.com'
git config user.name
git config user.email
git status 查看當前項目狀態
git remote 不帶參數,列出已經存在的遠程分支
git remote -v 等同於上圖命令
git remote add kjf git://github.com/paulboone/ticgit.git 建立一個別名 kjf 代替 長串的地址
git fetch kjf 抓取全部 kjf 有的,但本地倉庫沒有的信息,字串 kjf 指代對應的倉庫地址
git diff 工做區 與 暫存區 的文件之間的差別對比
git diff --cached 版本區 和 暫存區 文件之間的差別對比
git diff master 工做區 和 版本區 文件之間的差別對比
git log 日誌 和 版本號,HEAD 表示當前正在使用的分支,還有每次提交的哈希值
git reflog 精簡版的 日誌 和 版本
git checkout -- index.html 用暫存區指定文件替換工做區的指定文件 (危險)
git checkout HEAD index.html 用版本庫中的指定文件替換 暫存區和工做區 的文件 (更危險)
git rm --cached index.html 刪除暫存區的指定文件
git reset --hard HEAD 把暫存區清空,而後把版本庫中的內容 copy 到 暫存區
git reset --hard HEAD^ 回退到最近一次的版本
git reset --hard 70d1707 回退到指定的 70d1707 版本
git rm -rf a.txt
git rm -rf test
git branch -d tags 刪除指定分支
git checkout -b tags 新建分支(拷貝自主分支),並切換到分支
git checkout master 切換到 主分支 master (由 .git 切換項目文件)
git checkout tags 切換到 tags 分支 (由 .git 切換項目文件)
git branch 顯示 全部分支 和 區別出 當前分支
git diff tags master 顯示 tags 分支 和 主分支 master 的有差別文件的 文件內容差別
git diff master tags 顯示兩個分支之間,有內容差別的文件列表
git diff master tags a.txt 顯示 tags 分支 和 主分支 master 指定文件的 文件內容差別
git merge tags (在目標分支執行) 將 tags 分支合併到 目標分支____可能引起衝突(同一文件同一位置內容衝突)
若是產生衝突,會顯示 (master | MERGing)
衝突文件以下顯示
處理完成之後,正常操做提交,會發現 (master | MERGing) ----> (master)
git init 初始化一個倉庫(最好在一個空文件夾下面執行初始化倉庫)____線下倉庫
編碼並提交,而後在 GitHub 新建一個倉庫,複製新倉庫的地址
git remote remove origin 刪除地址別名 origin
git remote add origin https://github.com/RyenToretto/taobao.copy.git 建立一個別名 origin 代替 長串的地址
git push -u origin master 託管上線到 GitHub
git pull origin master 拉取 GitHub 上的代碼到本地
ssh-keygen -t rsa -C '18273727925@qq.com' 生成密鑰
GitHub
git 項目託管網站
衝突: 同一文件的同一位置,內容出現衝突
處理:(pull 會把遠端內容拉取,可能進行自動合併的操做,產生衝突)
第一種方式:
git pull -u origin master 拉取 GitHub 的文件內容到本地,出現衝突
處理衝突文件
git add .
git commit -m '處理 xxx 的衝突'
git push -u origin master
第二種方式:
git fetch origin master:tmp 將 GitHub 的文件內容拉取到 tmp 分支上
git checkout tmp 切換到 tmp 分支
git diff tmp master 顯示 tmp 分支 與 master 分支的 文件內容差別
git pull origin master
將遠程倉庫的 master 分支上代碼版本 複製/合併 到本地 master 分支上
git fetch origin master:dev
新建了一個 dev 分支,將遠程倉庫的 master 分支上代碼版本複製到 dev 分支上
就必定不會產生衝突
git diff master dev 對比兩分支內容,觀察會不會產生衝突
若是會,先解決,在合併分支。若是不會,就直接合並分支
忽略文件(.gitignore 這個配置文件自己 是須要被提交 給 git 進行管理的)
直接在項目文件夾中建立 .gitignore 並設置忽略文件
.idea
node_modules
WebStorm 處理衝突
add
commit
pull ----> ok 等待交互後,發現衝突,點 merge
----> apply
push 最終推送成功
Fork & Pull Request & Create Pull Request ----> Merge Request