在github上 創建一個git倉庫
- 回到本地, 初始化當前 git環境(此步驟只需要一次)
git init (會在當前出現一個.git隱藏文件 )
- 將本地路徑 跟遠程的git路徑 相關聯(此步驟只需要一次)
git remote add origin url
- 查看本地倉庫鏈接的遠程倉庫地址
git remote -v
- 配置git的用戶名和密碼(此步驟只需要一次)
git config --global user.name "wirelessqa"
git config --global user.email "[email protected]"
http://blog.csdn.net/helinlin007/article/details/52266169
- 如果是紅帽 git 低版本
- 修改.git/config
- https://username@giturl 加上用戶名@
- 需要在終端執行unset SSH_ASKPASS
- 修改.git/config
- 將README.md文件 加入到git所關聯的文件列表中,這個文件如果修改 狀態 git會做跟蹤管理
git add README.md
git add * (添加所有文件)
- 將REAMEME.md 設置爲準備提交狀態(接下來gitpush 就會將commit狀態的文件 提交到遠程)
git commit README.md -m"日誌"
git commit -a -m"日誌" (將文件列表中的所有文件 設置爲準備提交狀態)
- 將本地已經commit的文件 提交到遠程 git倉庫
git push -u origin master
- 很常用的查看當前倉庫狀態命令 git status (建議經常使用)
- —— 下載文件 ———–
git clone https://[email protected]
- ——- 刪除文件 —————–
git rm aaa.c
git commit aaa.c -m"delte aaa.c"
git push -u origin master
- ——– 修改文件 —————
每次提交代碼之前, 一定要保證本地的當前的代碼是最新的, 通過執行
git pull
- ——- 解決衝突——-
git pull
如果本地代碼 和遠程代碼出現衝突, 需要手動解決。
git stash
//將本地文件 回饋 上一步操作
在上一個版本下,執行git pull
將新代碼下載下來
回覆最後寫的代碼git stash pop
會將已經衝突的文件 合併.裏面會有<<<<< 和 >>>>>
, 這裏之中就是本地和遠程的衝突的部分,手動去解決
, 然後再git pull, git commit , git push
.
- ——— git 分支有關操作 —–
- 如果當前兩個分支 master branch1
- 下載某個分支
git clone -b 分支名稱 url
- 切換分支
git checkout 分支名
(不建議使用) 最好給一個分支單 - 查看當前的屬於哪個分支,
git branch
- 查看都有哪些分支,
git branch -a
- 向某個分支提交代碼
git push -u origin 本地分支名:遠程分支名
- 本地創建分支,
git branch 分支名
- 將本地新建分支推送至服務器倉庫
git push origin 新建分支名
- 強制push,即使遠程倉庫的修改丟失(最不建議使用的方式,因爲如果多人協作開發別人的修改就會因此丟失)
$ git push -u origin master -f
fork 別人的倉庫進行協同開發:
- fork 一個 代碼倉庫(A)
- 在自己的git上,找打fork的倉庫, git clone 代碼到本地
- git remote add upstream (A 倉庫的地址)
- 切換分支至 upstream/master
git checkout upstream/master
- 拉取倉庫 A 的變化,
git fetch upstream
- 切換分支至master ,
git checkout master
- 將upstream/master 分支的變化合併到 master 分支
git merge upstream/master
- 提交給自己的git 倉庫,
git push
查看提交記錄
git log --name-status 每次修改的文件列表, 顯示狀態
git log --name-only 每次修改的文件列表
git log --stat 每次修改的文件列表, 及文件修改的統計
git whatchanged 每次修改的文件列表
git whatchanged --stat 每次修改的文件列表, 及文件修改的統計
git show 顯示最後一次的文件改變的具體內容
19. git patch 操作
1. 兩個commit間的修改(包含兩個commit)
git format-patch <r1>..<r2>
2. 單個commit
git format-patch -1 <r1>
3. 從某commit以來的修改(不包含該commit)
git format-patch <r1>
20. push 到遠程服務器的commit的回退方法
git revert <commit id>
git push
tag 操作
git stash 操作
將多個commit 合併成一個commit;使用rebase
- 將B項目的commit 合併到A項目
cd /home/you/projectA
git remote add projectB /home/you/projectB
git fetch projectB
git cherry-pick <first_commit>..<last_commit>
(此時可能會有衝突,需手動修改)- 修改完衝突後,手動添加文件
git cherry-pick --continue