git查過的問題

git 
一 git 配置個人信息
1、默認配置個人信息有三層
最高層系統層默認配置保存在/etc/gitconfig 文件,使用 git config 時用 --system 選項,讀寫的就是這個文件。
下一層用戶層默認配置保存在~/.gitconfig 文件,使用 git config 時用 --global 選項,讀寫的就是這個文件。
最細層管理項目默認配置文件 .git/config 文件,使用 git config 時不加選項,讀寫的就是這個文件。

默認要配的選項有:
用戶信息:$ git config user.name "John Doe"
$ git config user.email [email protected]
2 查看配置選項
git config --list 

也可以直接查閱某個環境變量的設定,只要把特定的名字跟在後面即可,像這樣:

$ git config user.name
Scott Chacon

能不能分類洗一份數據訓練看效果????

二、遠程分支
1 新建遠程分支
git push origin serverfix
是下列命令的縮寫:
Git 自動把 serverfix 分支名擴展爲 refs/heads/serverfix:refs/heads/serverfix
git push origin serverfix:serverfix  上傳我本地的 serverfix 分支到遠程倉庫中去,仍舊稱它爲 serverfix 分支
所以 遠程分支名不同時,可以如下:
git push origin serverfix:awesomebranch
合併遠程分支:
git merge origin/serverfix
在遠程分支的基礎上分化出一個新的分支來:
git checkout -b serverfix origin/serverfix
跟蹤分支:從遠程分支 checkout 出來的本地分支,稱爲 跟蹤分支 (tracking branch)。跟蹤分支是一種和某個遠程分支有直接聯繫的本地分支。在跟蹤分支裏輸入 git push,Git 會自行推斷應該向哪個服務器的哪個分支推送數據。同樣,在這些分支裏運行 git pull 會獲取所有遠程索引,並把它們的數據都合併到本地分支中來。
刪除遠程分支
git push origin :serverfix
記住我們不久前見過的 git push [遠程名] [本地分支]:[遠程分支] 語法,如果省略 [本地分支],那就等於是在說“在這裏提取空白然後把它變成[遠程分支]”。
(問題:git push origin master:another 結果遠程的master another分支都commit了,所以以後這樣改有風險,儘量還是保持遠程本地分支同名吧)

三、Git push與pull的默認行爲 :寫的很好(http://blog.angular.in/git-pushmo-ren-fen-zhi/)
引子:git中存在upstream和downstream,簡言之,當我們把倉庫A中某分支x的代碼push到倉庫B分支y,此時倉庫B的這個分支y就叫做A中x分支的upstream,而x則被稱作y的downstream,這是一個相對關係,每一個本地分支都相對地可以有一個遠程的upstream分支(注意這個upstream分支可以不同名,但通常我們都會使用同名分支作爲upstream)。
當未指定默認遠程push/pull分支時(git config中的push.default未配置):
需要git push origin develop 
    git pull origin develop  
纔可以上傳或者下拉代碼
否則會push或者pull git/config中配置的默認分支
指定默認分支的方法:
方法1 修改config文件
[branch "develop"]   
remote = origin   
merge = refs/heads/develop // [1]爲什麼不是refs/remotes/develop?
方法2 通過command-line直接設置
git config branch.develop.merge refs/heads/develop

這樣當我們在develop分支git pull時,如果沒有指定upstream分支,git將根據我們的config文件去merge origin/develop;如果指定了upstream分支,則會忽略config中的merge默認配置。
方法3 git push --set-upstream origin develop
關聯本地develop分支的upstream分支
方法4 初次push時 加入-u參數
git push -u origin develop,這個操作在push的同時會指定當前分支的upstream。



******************************************************************************************************************************
git 和遠程倉庫
1、在一個project目錄下,git init 把該目錄變爲一個git倉庫
注意:直接新建一個branch是會報錯的
需要add,commit 一次纔會創建master分支,之後才能新建分支

2、git 查語句—很好 不用再google
githelp<verb>   || git<verb>--help|| man git-<verb>

3、git remote常用
看當前有的遠程倉庫 git remote
添加新git倉庫 git remote add  遠程倉庫簡名  ssh://[email protected]/~liyubing/liyubing.git  如果只有一個遠程倉庫 那就把名字起爲origin
給目前遠程倉庫重命名 git remote rename < old> <new>
刪除某個遠程倉庫 git remote remove name

4、創建遠程倉庫
好像只能在github 或者其他類似的地方 手動 create repository

5、intellij,maven下常用的gitignore文件
.settings
.metadata
.classpath
.project
*.iml
*.idea/
*~
target
RemoteSystemsTempFiles
.DS_Store
dataservice/.DS_Store
./idea/*
modules.iml
._.DS_Store

6、git 看本地分支向遠程分支的提交記錄
# 顯示當前分支的最近幾次提交$ git reflog

7、gittag
tag用來給當前代碼情況做個標記
git tag 看當前所有tag號
git tag -a 版本號 -m ‘備註’ 打tag方法
git push origin 版本號 向遠程倉庫推送版本號的方法

看對應tag代碼
git checkout tagname 注意 這樣之後當前分支會回到這個快照。。。
所以可以給tag新開一個分支
git checkout -b newbranch tagname



8、git 獲取遠程分支
當clone之後,git branch -r 可以看到遠程的分支
在本地(此時直接git branch 並看不到想切的分支)直接checkout 該分支即可
(如果有一個clone之後新分支 可以git origin fetch 分支 然後checkout 該分支?)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章