Git使用記錄


Git

上傳

git操做命令整理
廖雪峯git教程html

參考git

若是咱們要把一個項目加入到Git的版本管理中,能夠在項目所在的目錄用git init命令創建一個空的本地倉庫,而後再用git add命令把它們都加入到Git本地倉庫的暫存區(stage or index)中,最後再用git commit命令提交到本地倉庫裏。

建立一個新的項目目錄,並生成一些簡單的文件內容github

$ mkdir test_proj
$ cd test_proj
$ echo 「hello,world」 > readme.txt

在項目目錄建立新的本地倉庫,並把項目裏的全部文件所有添加、提交到本地倉庫中去shell

$ git init #在當前的目錄下建立一個新的空的本地倉庫
Initialized empty Git repository in /home/user/test_proj/.git/
$ git add . #把前目錄下的全部文件所有添加到暫存區
$ git commit -m 'project init' #建立提交
[master (root-commit) b36a785] project init
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 readme.txt

遠程提交(到服務器)vim

$ git remote add master git@服務器地址:存儲位置.git  
$ git push origin origin
## 注:origin是初始init建立的本地倉庫的分支名

查看

#查看配置
$ git config --list

#查看遠端地址
$ git remote -v

#查看當前倉庫狀態
$ git status 

$ git log
>>>fatal: bad default revision 'HEAD'
#(因爲倉庫裏沒有任提交在裏面,因此它會報這個錯。)
$ git add filename1 filename2 ...#添加文件到暫存區
#將剛纔的修改提交到本地倉庫中 
$ git commit -m 「modify map」 #本次要提交的概要信息
>>>如今你執行一下git log 命令就會看到剛纔的提交記錄
$ git log
commit d6f2a112575187a5d7acc35697b0065ea62e6a80  #咱們這次建立的提交的名字
Author: xxx
Date: xxx  

#查看分支
$ git branch 
$ git show-branch
$ git branch -av

修改

如今修改一下倉庫裏文件的內容,提交到倉庫中去服務器

#修改文件(如:在文件的最後添加一行)
$ echo "Git is Cool" >> readme.txt  
$ git status #查看當前倉庫的狀態 
# On branch master 
# Changed but not updated: (修改了,可是尚未暫存的內容) 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: readme.txt 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

(沒有修改能夠被提交,使用 「git add」 命令添加文件到暫存區,或是使用「git commit -a」 命令強制提交當前目錄下的全部文件)

查看修改部分ssh

$ git diff #查看倉庫裏未暫存內容和倉庫已提交內容的差別 
diff --git a/readme.txt b/readme.txt 
index 7b5bbd9..49ec0d6 100644 
--- a/readme.txt 
+++ b/readme.txt 
@@ -1 +1,2 @@ 
hello Git 
+Git is Cool 

$ git add readme.txt
$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# modified: readme.txt 
$ git commit -m "Git is Cool" 
[master 45ff891] Git is Cool 
1 files changed, 1 insertions(+), 0 deletions(-) 
(一個文件被修改,一行插入,零行刪除) 

# 還能夠直接根據提交的序列號查看
git log 08383abe8xxxxxx
git diff 08383abe8xxxxxx
git diff 08383abe8xxxxxx b4e1241d0exxxxx

Error記錄

//刪除了某一項版本控制下的內容,使用git add .沒法在索引中刪除該文件。
// 應使用
$ git add -A //stages全部文件
//而
$ git add . //只能stages新文件和被修改文件,沒有被刪除文件

$ rm JackyData03  
$ git add . && git commit -m "remove JackyData03"  
Error: warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal'...
#使用git commit -a -m提交刪除  
$ git commit -a -m "remove JackyData03"
Error: fatal: remote origin already exists.

$ git remote rm origin
$ git remote add origin git@...
//若是輸入$ git remote rm origin 仍是報錯的話,error: Could not remove config section 'remote.origin'. 咱們須要修改gitconfig文件的內容
//找到你的github的安裝路徑, 找到一個名爲gitconfig的文件,打開它把裏面的[remote "origin"]那一行刪掉就行了!
$  git commit -m "modify map_box and segmentation"

#error:fatal: Not a git repository (or any parent up to mount parent /home/kineam)
#Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

"Deal:git init
why:don't find git contents,初始化一下"

github SSH密鑰

1.設置git的user name和email:ide

$ git config --global user.name "xxx"
$ git config --global user.email "xxx@gmail.com"

2.生成SSH密鑰過程:測試

cd ~/.ssh  #查看是否已經有了ssh密鑰,若是沒有密鑰則不會有此文件夾,有則備份刪除
$ ssh-keygen -t rsa -C 「xxx@gmail.com」  #生成SSH密鑰,按3個回車,密碼爲空。
ssh-add filename #添加密鑰到ssh
#在github上添加ssh密鑰,這要添加的是「id_rsa.pub」裏面的公鑰
ssh git@github.com #測試

Warning: Permanently added 'github.com,192. ... .113' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
若是your_name正確顯示你的ID,則說明成功設置了SSH公鑰加密

添加SSH keys

ssh-keygen -t rsa
//系統提示輸入文件保存位置等信息,連續敲三次回車便可
//在.ssh文件夾下生成了2個文件,一個公鑰和一個私鑰文件,  id_rsa  id_rsa.pub
//生成的SSH key文件保存在中~/.ssh/id_rsa.pub

cp  ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
//命令:這樣配置以後就能夠實現無密碼登陸本機
//若是須要登陸到遠程主機,只須要將authorized_keys文件發送到遠程主機的~/.ssh/目錄下。

vim ~/.ssh/id_rsa.pub
//接着拷貝.ssh/id_rsa.pub文件內的因此內容,將它粘帖到github賬號管理中的添加SSH key界面中
打開github賬號管理中的添加SSH key界面的步驟以下:
1. 登陸github
2. 點擊右上方的Accounting settings圖標
3. 選擇 SSH key
4. 點擊 Add SSH key

上傳代碼

echo "some remarks" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/xxx/xxx.git
git push -u origin master

Error:Agent admitted failure to sign using the key
//解決方式 使用 ssh-add 指令將私鑰 加進來 (根據我的的密匙命名不一樣更改 id_rsa)--實現無密碼登陸
$ ssh-add   ~/.ssh/id_rsa  

$ git push -u origin master
Counting objects: 80, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (75/75), done.
Writing objects: 100% (80/80), 2.45 MiB | 248.00 KiB/s, done.
Total 80 (delta 20), reused 0 (delta 0)
remote: Resolving deltas: 100% (20/20), done.
To git@github.com:Vanessa-feng/xxx.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

github 刪除文件

//先刪除本地文件
$ git add. 
$ git commit -m "delete file"
$ git push
//直接刪除github文件
git rm filename
git commit -m "remove file"
git push -u origin master
相關文章
相關標籤/搜索