Github /Git入門

開始使用Git

在開始學習Git的時候,初學者首先須認知Git中的檔案有三種狀態:已修改已暫存已提交,三者分別位於Working Directory (本地端)Staging Area (暫存端)Repository (版本庫)

Git的提交流程──

  1. 修改完但還沒提交的檔案為Modified (玩到一半但還沒存檔的遊戲)
  2. 藉由git add指令進入Staging Area暫存起來 (暫存區,但還沒真的確定要存) Staged
  3. 最後藉由git commit指令確定將這個檔案版本存入Repository (版本庫,成功存成一個遊戲版本了) Commited

git2

 參考文章

Github 入門

  • 建立Repository

    1. Clone Remote repository to local folder

    git clone [repository link]

    2. Create ( Initiate ) new repository in local folder

    • git init
    • git add
    • git commit -m “Title" (這樣就會自動跳到預設編輯器,讓你可以輸入 commit tilte)
    • git push to remote – how?
    • 1.Create new folder have same local name in remote
    • 2.git remote add origin (https://github.com/your_github_name/new_project_name)
    • git push -u origin master

參考文章

  •  how to write .READ / make a pretty demo page

  • 關於Git指令

1. 設定git指令的縮寫

git config –global alias.縮寫指令 原始指令

EX: config –global alias.st status

2. 查看所有設定的縮寫指令

global .gitconfig 在Git所安裝的根目錄下

vi  ~/.gitconfig

3. 常用的縮寫 alias

[alias]
st = status
ci = commit
br = branch

4. git上已追蹤的檔案更名

git mv old_filename new_filename

設定SSH key連結Github

1.在 C://Users/你的使用者名稱/.ssh 下

下指令 產生一組公私鑰

ssh-keygen -t rsa -C "你的Email"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/你的使用者名稱/.ssh/id_rsa): (直接enter或自訂)
Enter passphrase (empty for no passphrase): (直接enter)
Enter same passphrase again: (直接enter)

2.查看並複製公鑰

cat ~/.ssh/你的公鑰檔案名稱 (EX: rsa_id.pub)

3.將公鑰複製到Github網站的設置當中

接著到github網站上,切換到個人頁面的「Settings」頁面->左邊「SSH Keys」->右邊「New SSH key」

將複製的內容貼置Key,Title取個能夠識別的字

3.測試SSH連線是否成功 [備註一]

ssh -T git@github.com

如果第一次使用的話應該會出現,打yes就好了

The authenticity of host 'github.com (192.30.252.130)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx8.
Are you sure you want to continue connecting (yes/no)? yes (打yes)
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.

出現這個表示成功

Hi 你的使用者名稱! You've successfully authenticated, but GitHub does not provide shell access.

到面前為止的設定,Pull會成功,但Push仍會要求登入帳密

4.Push to github Without login

git remote set-url 你所設定的remote名稱(EX: origin) git@github.com:Github上的Username/你的ProjectName.git

參考資訊來源1

參考資訊來源2

Git 新增遠端連線

https://help.github.com/articles/adding-a-remote/

https://help.github.com/articles/removing-a-remote/

[備註二]
git remote add origin 
https://github.com/user/repo.git 
git@github.com:User/project-slideshow.git

 # Set a new remote git remote -v # Verify new remote origin https://github.com/user/repo.git (fetch) origin https://github.com/user/repo.git (push) destination https://github.com/FORKER/REPOSITORY.git (fetch) destination https://github.com/FORKER/REPOSITORY.git (push)  git remote rm destination # Remove remote git push --set-upstream origin(remote name) master(branch name)  

[備註]

[備註一]

每次開啟terminal,皆須登入github

ssh -T git@github.com

 

[備註二]

如果希望延續上面使用SSH連線,免Key帳密登入的話,請一定要將Remote Link改為SSH Link,而非預設的HTTP Link

Reference – Why is Github asking for username/password when following the instructions on screen and pushing a new repo?

Don’t use HTTP use SSH instead

change

https://github.com/WEMP/project-slideshow.git 

to

git@github.com:WEMP/project-slideshow.git

you can do it in .git/config file

亦可直接在.git/config檔案中直接修改 remote link value

 
廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s