Git使用记录


Git

上传

git操作命令整理
廖雪峰git教程

参考

如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or index)中,最后再用git commit命令提交到本地仓库里。

创建一个新的项目目录,并生成一些简单的文件内容

$ mkdir test_proj
$ cd test_proj
$ echo “hello,world” > readme.txt

在项目目录创建新的本地仓库,并把项目里的所有文件全部添加、提交到本地仓库中去

$ 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

远程提交(到服务器)

$ 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” 命令强制提交当前目录下的所有文件)

查看修改部分

$ 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:

$ 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
原文地址:https://www.cnblogs.com/Vanessa-Feng/p/7639813.html