❶ git 產看提交修改了哪些文件
先用git log 獲取commit_id,再用
git show commit_id | grep diff | cut -d" " -f 3 |cut -d/ -f 2 即可獲得修改的文件
簡單說明:git show 獲取commit的詳細信息,有修改的文件會有diff --git a/file_test.py b/file_test.py這樣的記錄,用grep+cut就可以得到你要的內容了
❷ 如何將代碼上傳到git伺服器上
1、本地公鑰的獲取,
cd ~/.ssh
ls
使用指令ssh-keygen,生產公鑰,第一個提示時輸入文件(默認是id_rsa),第二個提示時輸入的是密鑰,
公鑰放置在id_rsa.pub文件中。
2、按照code的提示,進行代碼上傳。
2.1 建立一個git文件件,比如git_csdn ,
2.2 git init,建倉操作,
2.3 可以新建一個readme.md,touch README.md
2.4git add.添加所有文件,git add file,添加file,比如git add README
2.5git commit -m "first commit"
2.6git remote add origin git @ url 地址
2.7git push -u origin master
3、git clone 地址
4、git remote不帶參數,列出已經存在的遠程分支
$ git remote
origin
5、配置:
$ git config --global user.name "John Doe"
$ git config --global [email protected]
出現的問題:Updates were rejected because the tip of your current branch is behind
有如下幾種解決方法:
1.使用強制push的方法:
$ git push -u origin master -f
這樣會使遠程修改丟失,一般是不可取的,尤其是多人協作開發的時候。
2.push前先將遠程repository修改pull下來
$ git pull origin master
$ git push -u origin master
3.若不想merge遠程和本地修改,可以先創建新的分支:
$ git branch [name]
然後push
$ git push -u origin [name]
分支管理:
1、創建分支: git branch new_branch
2、查看分支:git branch
3、刪除分支:git branch -d new_branch
4、切換分支:git checkout new_branch
5、創建分支並切換分支: git checkout -b new_branch即可在本地新建分支,並使用該分支track遠程分支
6、提交並推送分支:
git add .
git commit -m "xxx"
git push -u origin new_branch
7、刪除遠程分支:git push origin --delete new_branch
8、合並分支: git merge new_branch
9、將本地更新上傳到遠程分支上:
例如本地新建或是更新了內容newfile.c文件,
首先git add newfile.c,
然後git commit -m "add new file",
緊接著git push 本地分支名 遠程分支名即可將本地分支更新到遠程分支。
10.獲取遠程分支
git fetch 從遠程獲取其他用戶push上來的新分支
git remote -v 即可查看遠程所有的版本信息
❸ git添加所有文件到版本庫里用什麼命令
1. Git概念
1.1. Git庫中由三部分組成
Git 倉庫就是那個.git 目錄,其中存放的是我們所提交的文檔索引內容,Git 可基於文檔索引內容對其所管理的文檔進行內容追蹤,從而實現文檔的版本控制。.git目錄位於工作目錄內。
1) 工作目錄:用戶本地的目錄;
2) Index(索引):將工作目錄下所有文件(包含子目錄)生成快照,存放到一個臨時的存儲區域,Git 稱該區域為索引。
3) 倉庫:將索引通過commit命令提交至倉庫中,每一次提交都意味著版本在進行一次更新。
1.2. 使用Git時的初始化事項
1.2.1. Git初始化配置
1) 配置使用git倉庫的人員姓名
git config --global user.name "Your Name Comes Here"
2) 配置使用git倉庫的人員email
git config --global user.email [email protected]
1.2.2. Git文檔忽略機制
工作目錄中有一些文件是不希望接受Git 管理的,譬如程序編譯時生成的中間文件等等。Git 提供了文檔忽略機制,可以將工作目錄中不希望接受Git 管理的文檔信息寫到同一目錄下的.gitignore 文件中。
例如:工作目錄下有個zh目錄,如果不想把它加入到Git管理中,則執行:
echo 「zh」 > .gitignore
git add .
有關gitignore 文件的諸多細節知識可閱讀其使用手冊:man gitignore
1.3. Git與Repo的比較
Git操作一般對應一個倉庫,而Repo操作一般對應一個項目,即一個項目會由若干倉庫組成。
例如,在操作整個Recket項目時使用Repo,而操作其中的某個倉庫時使用Git。在包含隱藏目錄.git的目錄下執行git操作。
2. Git help
Git help 獲取git基本命令
(如果要知道某個特定命令的使用方法,例如:使用Git help clone,來獲取git clone的使用方法)
3. Git本地操作基本命令
3.1. Git init
或者使用git init-db。
創建一個空的Git庫。在當前目錄中產生一個.git 的子目錄。以後,所有的文件變化信息都會保存到這個目錄下,而不像CVS那樣,會在每個目錄和子目錄下都創建一個CVS目錄。
在.git目錄下有一個config文件,可以修改其中的配置信息。
3.2. Git add
將當前工作目錄中更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示記入了版本歷史中,這也是提交之前所需要執行的一步。
可以遞歸添加,即如果後面跟的是一個目錄作為參數,則會遞歸添加整個目錄中的所有子目錄和文件。例如:
git add dir1 ( 添加dir1這個目錄,目錄下的所有文件都被加入 )
Git add f1 f2 ( 添加f1,f2文件)
git add . ( 添加當前目錄下的所有文件和子目錄 )
比如: ../../Debug/qh_1.bin文件被錯誤的添加到git中了,
在沒有設置好.gitignore文件的時候就git add啦, 所以就有這個麻煩.
❹ git上的md文件clone到本地怎麼閱讀
根據你的描述:
在git里, 是可以很美觀的閱讀的, 還帶目錄 跳轉 到本地也想這樣的, retext其實也跟記事本差不多。
❺ git 怎麼看單獨某個文件的日誌
有時候接手一份新代碼時,看到某些文件的改動,但不清楚這個改動的作者和內原因,想查看該容文件的具體提交歷史記錄。
今天一個同事是這樣做的,直接敲Git log命令,然後再使用vim命令的搜索關鍵字的方法來查看該文件的提交記錄,如下所示:
❻ git常用操作
如果不用"pick"或者"edit",而是指定"squash",Git 會同時應用那個變更和它之前的變更並將提交說明歸並。因此,如果想將這三個提交合並為單一提交, 可以將腳本修改成這樣
保存並退出編輯器,Git 會應用全部三次變更然後將送回編輯器來歸並三次提交說明。
然後保存,就會擁有包含前三次提交的全部變更的單一提交 。
註:最頂行pick 不能修改為squash
當你正在進行項目中某一部分的工作,裡面的東西處於一個比較雜亂的狀態,而你想轉到其他分支上進行一些工作。問題是,你不想提交進行了一半的工作,否則以後你無法回到這個工作點。解決這個問題的辦法就是 git stash 命令。
「『儲藏」「可以獲取工作目錄的中間狀態——也就是修改過的被追蹤的文件和暫存的變更——並將它保存到一個未完結變更的堆棧中,隨時可以重新應用。
當追准備切換分支,但是還不想提交你正在進行中的工作;所以儲藏這些變更。為了往堆棧推送一個新的儲藏,只要運行? git stash :
這時,你可以方便地切換到其他分支工作;你的變更都保存在棧上。要查看現有的儲藏,你可以使用? git stash list :
git stash apply :重新應用你剛剛實施的儲藏
git stash apply stash@{number} :應用更早的儲藏
只需回到需要合並的源分支,運行 git merge 命令指定要合並進來的分支即可;Git 作了合並,但沒有提交,它會停下來等你解決沖突。要看看哪些文件在合並時發生沖突,可以用 git status 觀察
任何包含未解決沖突的文件都會以未合並(unmerged)的狀態列出。Git 會在有沖突的文件里加入標準的沖突解決標記,可以通過它們來手工定位並解決這些沖突。可以看到此文件包含類似下面這樣的部分:
可以看到 ======= 隔開的上半部分,是? HEAD (即 master 分支,在運行 merge 命令時所切換到的分支)中的內容,下半部分是在 iss53 分支中的內容。解決沖突的辦法無非是二者選其一或者親自整合到一起。比如可以通過把這段內容替換為下面這樣來解決:
在解決了所有文件里的所有沖突後,運行? git add ?將把它們標記為已解決狀態(譯註:實際上就是來一次快照保存到暫存區域。)
pull時為了防止更改後pull Feiled的出現,先執行commit,stash or revert。