Git仓库提交的那点事


生成公钥:

Windows 打开 Git Bash 。 输入ssh-keygen -t rsa -C "username@example.com",( 注册的邮箱),接下来点击enter键即可(也可以输入密码)。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"


1.提交单个文件


Administrator@human-PC MINGW32 /master
$ git init
Initialized empty Git repository in C:/Program Files (x86)/Git/master/.git/

Administrator@human-PC MINGW32 /master (master)
$ git add README.md

Administrator@human-PC MINGW32 /master (master)
$ git commit -m "first commit"
[master (root-commit) ec96427] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

Administrator@human-PC MINGW32 /master (master)
$ git remote add origin https://git.coding.net/siji/Hello-World.git

Administrator@human-PC MINGW32 /master (master)
$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 233 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://git.coding.net/siji/Hello-World.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.




2.提交该目录下所有文件


Administrator@human-PC MINGW32 /master (master)
$ git add ./
warning: LF will be replaced by CRLF in apkfolder/item_a.json.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in apkfolder/item_b.json.
The file will have its original line endings in your working directory.

Administrator@human-PC MINGW32 /master (master)
$ git commit -m "two commit"
[master dddf420] two commit
warning: LF will be replaced by CRLF in apkfolder/item_a.json.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in apkfolder/item_b.json.
The file will have its original line endings in your working directory.
 51 files changed, 1093 insertions(+)
 create mode 100644 .classpath
 create mode 100644 .project
 create mode 100644 .settings/org.eclipse.core.resources.prefs
 create mode 100644 .settings/org.eclipse.jdt.core.prefs
 create mode 100644 CodingServerData/codingdata
 create mode 100644 CodingServerData/img/onion-monkey-emoji_01.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_02.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_03.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_04.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_05.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_06.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_07.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_08.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_09.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_10.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_11.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_12.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_13.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_14.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_15.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_16.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_17.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_18.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_19.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_20.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_21.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_22.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_23.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_24.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_25.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_26.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_27.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_28.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_29.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_30.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_31.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_32.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_33.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_34.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_35.png
 create mode 100644 CodingServerData/img/onion-monkey-emoji_36.png
 create mode 100644 SilentNightWetServers.zip
 create mode 100644 apkfolder/4945.jpg
 create mode 100644 apkfolder/4946.jpg
 create mode 100644 apkfolder/4947.jpg
 create mode 100644 apkfolder/4948.jpg
 create mode 100644 apkfolder/4949.jpg
 create mode 100644 apkfolder/item_a.json
 create mode 100644 apkfolder/item_b.json
 create mode 100644 silentnightwet/Zhidu.apk
 create mode 100644 silentnightwet/versioncode.json

Administrator@human-PC MINGW32 /master (master)
$ git remote add origin https://git.coding.net/siji/Hello-World.git
fatal: remote origin already exists.

Administrator@human-PC MINGW32 /master (master)
$ git remote add origins https://git.coding.net/siji/Hello-World.git

Administrator@human-PC MINGW32 /master (master)
$ git push -u origins master
Counting objects: 58, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (58/58), 10.26 MiB | 307.00 KiB/s, done.
Total 58 (delta 1), reused 0 (delta 0)
To https://git.coding.net/siji/Hello-World.git
   ec96427..dddf420  master -> master
Branch master set up to track remote branch master from origins.

</pre><pre name="code" class="plain">
</pre><pre name="code" class="plain">
</pre><pre name="code" class="plain">


git配置

$ git config --global user.name "alexzhou"
$ git config --global user.email "zhoujiangbohai@163.com"



接下来要设置的是默认使用的文本编辑器。Git 需要你输入一些额外消息的时候(比如提交更新写描述信息时),会自动调用一个外部文本编辑器给你用。

$ git config --global core.editor vim


在解决合并冲突时使用哪种差异分析工具.

$ git config --global merge.tool vimdiff

查看配置信息的相关命令
查看所有配置
git config --list

查看某个环境变量的配置

$ git config user.name

查看Git 的各命令的用法
git help 或者 man git
查看某条命令怎么用,如config:

$ git help config



GIT常用命令



1. 开始git
1.1 开始一个新的项目,初始化新的代码仓库
git init

1.2 把服务端的项目拷贝到本地

git clone git://github.com/andymccurdy/redis-py.git

2.跟踪文件
跟踪某个文件或者某个目录下所有文件,就是把需要跟踪的文件加入暂存区(stage),下面把当前目录下的所有文件加入到暂存区

git add ./

3. 查看当前文件状态
git status或者git status xx(指定目录或者文件的状态)
git status

注:如果你git add xx后又修改了xx文件,此时应该重新执行git add xx,把最新的xx文件添加到暂存区


4.取消跟踪文件
与跟踪文件相反,取消跟踪就是把该文件或目录从暂存区(stage)移除

git rm --cached  c/file_operator/.file_cp.c.swp

ps:此时.file_cp.c.swp文件已经从暂存区域删除,但是仍在当前目录下,如果想把该文件也从工作目录中删除,执行

git rm c/file_operator/.file_cp.c.swp
git status
可以看到 c/file_operatorrator/.file_cp.c.swp 已经不在stage区了。可以通过git add重新添加到stage区


5.忽略某些文件
在实际项目中,有些文件不需要使用git进行管理,比如:.pyc文件,.class文件,.o文件,.swp文件的等,我们可以在项目根目录下创建一个名为 .gitignore的文件,列出要忽略的文件。git默认会读取项目目录下的.gitignore文件(跟.git同目录)

vim .gitignore

#git进行管理时,忽略以下文件

c/file_operator/*.swp
*.o

所有空行或者以注释符号 # 开头的行都会被 Git 忽略,以上设置忽略所有.o文件,同时忽略c/file_operator/目录下的所有.swp文件
另外,还可以在配置项中通过core.excludesfile来指定ignore文件。

git config --system core.excludesfile ~/.gitignore_system
git config --global core.excludesfile ~/.gitignore_global
git config core.excludesfile .gitignore_local
注意:
git config –system 设置系统配置
git config –global 设置用户配置
git config  设置项目配置


6.提交更新
现在把暂存区域中的文件提交到仓库,每次准备提交之前,运行git status看看需要提交的文件是不是都已经暂存了。

git commit -m “注释”

提交后它会告诉你,当前是在哪个分支(master)提交的,本次提交的完整 SHA-1 校验和是什么( 264c7c4),以及在本次提交中,有多少文件修订过,多少行添改和删改过.
ps:在提交的时候,给 git commit 加上-a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:git commit -a -m ‘xxxx’


7. 移动文件

git mv test1.c test2.c
相当于执行了
mv test1.c test2.c
git rm test1.c
git add test2.c

8.修改最后一次提交
有些时候我们执行git commit -m “cc” 执行后,发现还有文件没有添加到暂存区,想撤销刚才的提交操作,可以使用git commit –amend修改最后一次提交,重新提交,否则就需要多一次提交。
git commit -m 'cc'
git add forgotten_file
git commit --amend
上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

9.浏览更新历史
git log

git log可以指定输出格式,具体可以参考网上其它资料

如:列出user.py的所有改动历史,每条记录显示在一行

git log --pretty=oneline user.py
查看具体的某次改动
git show 哈希值


10. 恢复单个文件历史版本
查看文件历史记录:git log test.py
得到历史版本号,恢复该文件:

git reset 2e17053b4f5da3b378d6155a174523588d104338 test.py


11. 从服务端接收数据
git pull

12. 推送数据到服务端
执行git commit后,只是把更新提交到本地仓库,执行git push后才把本地修改更新到服务端

git remote add origin https://git.coding.net/siji/Hello-World.git
git push -u origins master




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值